Questão de Arquitetura de Software — Padrões de projeto (Design Patterns) — FCC 2016
Arquitetura de Software›Padrões de projeto (Design Patterns)
Código
fc033430
Banca
FCC
Órgão
TRT - 14ª Região (RO e AC)
Ano
2016
Nível
Médio
Cargo
Técnico Judiciário - Tecnologia da Informação
Os padrões de projeto
Apodem deixar um sistema mais complexo ou degradar a sua performance. O seu uso indevido ou inadequado para um determinado contexto constitui-se em um anti pattern.
Bsempre criam flexibilidade e variabilidade pela introdução de níveis adicionais de endereçamento indireto. Como melhoram o desempenho do sistema devem ser sempre aplicados.
Ccomportamentais abstraem ou adiam o processo de criação dos objetos, ajudando a tornar o sistema dependente de como seus objetos são criados, compostos e representados.
Destruturais se concentram nos algoritmos de herança entre os objetos. Eles não descrevem apenas padrões de objetos ou de classes, mas também os padrões de comunicação entre os objetos.
Ede criação se preocupam com a forma como classes e objetos são compostos para formar estruturas maiores. Utilizam o polimorfismo para compor interfaces ou implementações.
Revelar gabarito e comentário▾
GabaritoA — podem deixar um sistema mais complexo ou degradar a sua performance. O seu uso indevido ou inadequado para um determinado contexto constitui-se em um anti pattern.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Padrões de projeto (Design Patterns)
Gabarito: letra A. Padrões de projeto não são soluções mágicas; seu uso inadequado pode gerar complexidade e degradação de performance, caracterizando um antipadrão. As demais alternativas contêm erros conceituais sobre as categorias ou fazem afirmações absolutas falsas.
A banca testa o conhecimento das definições e características dos padrões GoF, especialmente a classificação em criação, estruturais e comportamentais, além do reconhecimento de que padrões têm consequências nem sempre positivas.
Alternativa A — ✅ Correta ⟵ GABARITO
Afirma que padrões podem deixar o sistema mais complexo ou degradar performance, e que uso indevido configura um antipadrão. Isso é correto, pois um padrão de projeto introduz níveis de indireção e abstração que podem aumentar a complexidade e sacrificar desempenho. O emprego inadequado de um padrão em um contexto impróprio é de fato um antipadrão (anti-pattern), conforme literatura de engenharia de software.
Alternativa B — ❌ Incorreta
Erro de generalização indevida. A palavra "sempre" invalida a alternativa: nem todo padrão introduz níveis adicionais de endereçamento indireto (alguns são mais diretos), e a afirmação de que melhoram o desempenho e devem sempre ser aplicados é falsa. Padrões podem até piorar o desempenho e não devem ser aplicados indiscriminadamente.
Alternativa C — ❌ Incorreta
Erro de troca de conceito. A descrição "abstraem ou adiam o processo de criação dos objetos, ajudando a tornar o sistema dependente de como seus objetos são criados, compostos e representados" corresponde aos padrões de criação, não aos comportamentais. Os padrões comportamentais focam em algoritmos e atribuição de responsabilidades entre objetos.
Alternativa D — ❌ Incorreta
Erro de troca de conceito. "Se concentram nos algoritmos de herança entre os objetos" não é característica dos padrões estruturais. Padrões estruturais preocupam-se com a composição de classes e objetos para formar estruturas maiores; herança é um mecanismo, mas não o foco. A segunda parte "não descrevem apenas padrões de objetos ou de classes, mas também os padrões de comunicação entre os objetos" é típica de padrões comportamentais, não estruturais.
Alternativa E — ❌ Incorreta
Erro de troca de conceito. A descrição "se preocupam com a forma como classes e objetos são compostos para formar estruturas maiores" é propria dos padrões estruturais, não dos de criação. Padrões de criação abstraem o processo de criação de objetos, não a composição. A menção ao polimorfismo para compor interfaces ou implementações também é mais associada a padrões estruturais.
PEGA ESSA DICA!
Para fixar as categorias GoF, lembre-se: Criação = como os objetos são criados; Estrutural = como classes/objetos são compostos; Comportamental = como se comunicam e distribuem responsabilidades. Treine identificar exemplos de cada grupo.