Na revisão de um programa feito por um programador novato, f...
Não conhecendo o termo padrão de projeto, o programador novato foi buscar orientações e descobriu que um padrão de projeto é um(a)
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa correta é a C, que descreve um padrão de projeto como uma estratégia correta para estruturar a solução de um problema recorrente no desenvolvimento de software. Um exemplo disso é o padrão Factory, que é utilizado para criar instâncias de diferentes classes com base em uma condição específica.
Padrões de projeto são soluções reutilizáveis projetadas para resolver problemas comuns que surgem durante o desenvolvimento de software. Eles ajudam a garantir que o código seja mais flexível, compreensível e fácil de manter. Os padrões de projeto são amplamente documentados na literatura de engenharia de software e são parte de uma boa prática de programação.
Agora, vamos entender por que as outras alternativas estão incorretas:
A - Esta alternativa refere-se a recomendações para formatação de código, como o padrão PEP 8 em Python. No entanto, essas recomendações não são padrões de projeto, mas sim diretrizes de estilo para escrever código de maneira consistente.
B - Esta alternativa menciona regras para interação entre serviços, como o padrão REST. Essas regras são relacionadas à arquitetura de sistemas e comunicação entre serviços, e não diretamente ao conceito de padrões de projeto em programação.
D - Apesar de mencionar uma estratégia de solução de problemas, o exemplo dado, padrão God Object, não é considerado um bom padrão de projeto. Na verdade, é uma anti-pattern, uma prática de design problemática que cria alto acoplamento e baixa coesão.
E - Esta alternativa fala sobre normas internacionais para a qualidade de software, como a ISO 9001. Embora importantes, essas normas tratam dos processos de qualidade e não são padrões de projeto de software.
Espero que este comentário tenha ajudado a esclarecer o conceito de padrões de projeto e a diferença entre eles e outros tipos de normas ou diretrizes.
Gostou do comentário? Deixe sua avaliação aqui embaixo!
```Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
A pegadinha da questão está nos exemplos que ela passou:
estratégia correta para estruturar a solução de um problema recorrente no desenvolvimento de software <- isso está correto!
padrão Factory: Esse é um pattern famoso e muito utilizado em diversos sistemas, ou seja, com essa opção a alternativa se torna completa tanto na conceituação como no exemplo
padrão God Object: Na verdade, esse exemplo é um anti-pattern. É um exemplo a não ser seguido no processo de desenvolvimento de software, fazendo com que a alternativa dê um exemplo que não se enquadra dentro do conceito mostrado
Gabarito: C) estratégia correta para estruturar a solução de um problema recorrente no desenvolvimento de software, como, por exemplo, o padrão Factory para criar instâncias de diferentes classes baseadas em uma condição.
Resumo do Resumo:
- Padrões de projeto (design patterns) são soluções reutilizáveis para problemas comuns no design de software.
- Eles descrevem estruturas e interações entre classes/objetos para resolver desafios específicos (ex.: criação, comportamento, estrutura).
- Exemplos clássicos: Factory, Singleton, Observer, Strategy.
Por que as outras alternativas estão erradas?
- A): Descreve guias de estilo de código (ex.: PEP 8), não padrões de projeto.
- B): Descreve padrões de arquitetura (ex.: REST), que são em nível mais alto que padrões de projeto.
- D): "God Object" é um anti-padrão (má prática), não um padrão recomendado.
- E): Refere-se a normas de qualidade/processo (ex.: ISO 9001), não a padrões de projeto de software.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo