Com base nos conceitos fundamentais de padrões de projeto (d...
Com base nos conceitos fundamentais de padrões de projeto (designer patterns) e padrões de arquitetura MVC, julgue o seguinte item.
Os designer patterns não se destinam a contribuir com
especificação de interfaces de objetos, pois a essência dos
padrões está nos algoritmos e na implementação dos objetos
que evitam potenciais problemas nos projetos de sistemas.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Gabarito: E - Errado
Para compreender o motivo pelo qual a afirmativa é incorreta, é importante ter um bom entendimento sobre o que são os padrões de projeto (design patterns) e a arquitetura MVC. Os padrões de projeto são soluções para problemas comuns encontrados no desenvolvimento de software. Não estão focados apenas nos algoritmos ou na implementação dos objetos, mas também na forma como os objetos e classes se comunicam entre si e, principalmente, na especificação de suas interfaces.
Pensar que padrões de projeto são apenas sobre algoritmos e implementação é um equívoco. Eles oferecem uma série de benefícios que vão muito além, tais como:
- Facilitar a comunicação entre os desenvolvedores com um vocabulário comum.
- Proporcionar soluções testadas e comprovadas para problemas de design de software.
- Contribuir para a modularidade do código, o que melhora a manutenção e a possibilidade de reutilização de componentes.
Quanto à arquitetura MVC (Model-View-Controller), ela é um exemplo de padrão de arquitetura que define a organização do código em três componentes principais:
- Model: Onde a lógica de negócios e os dados são manipulados.
- View: Responsável por apresentar os dados ao usuário.
- Controller: Intermediário entre o Model e a View, controlando o fluxo de dados e as interações do usuário.
Em resumo, os padrões de projeto são fundamentais para a definição de interfaces e para a organização do código, visando a redução de problemas de projeto e a promoção de um desenvolvimento mais eficiente e flexível. Portanto, a afirmativa da questão é errônea ao negar esse papel dos design patterns.
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
E
Errado
De acordo com as informações fornecidas nos resultados de pesquisa, os padrões de projeto (design patterns) não se destinam apenas aos algoritmos e implementação dos objetos, mas também contribuem com a especificação de interfaces de objetos.
Os padrões de projeto são soluções consagradas para problemas comuns no desenvolvimento de software, e eles abrangem tanto aspectos estruturais quanto comportamentais dos objetos e suas interações.[2][3][4]
Especificamente, os padrões de projeto ajudam a definir interfaces, abstrações e relacionamentos entre objetos, de forma a tornar o código mais flexível, modular e reutilizável.[2][3][4]
Portanto, o item está errado ao afirmar que os padrões de projeto não se destinam a contribuir com a especificação de interfaces de objetos. Essa é uma das principais funções dos padrões de projeto.[2][3][4]
Citations:
[1] https://www.hostgator.com.br/blog/design-patterns-e-seus-beneficios/
[2] https://designpatterns.com.br
[3] https://www.supero.com.br/blog/design-patterns-quando-usar/
[4] https://refactoring.guru/pt-br/design-patterns
✍ GABARITO(Errado) ✅
A essência em sim dos padrões de projetos está na definição das interfaces, deixando a cargo de quem irá implementar os algoritmos e a implementação do objetos.
Alguns exemplos de padrões e suas definições com base em interfaces
Factory Method - Esse padrão define uma interface para a criação de um objeto, deixando que as subclasses fiquem responsáveis por decidir qual classe instanciar.
Abstract Factory - Permite elaborar uma interface para criação de famílias de objetos relacionados ou interdependentes, que não especifica suas classes concretas. A partir desse padrão consegue-se criar fábricas concretas, que são responsáveis pela criação de novos objetos para atender as necessidades do cliente. Portanto, essa prática ajuda a excluir a dependência entre o cliente e a classe dos objetos usados por ele.
Builder - Fornece uma interface genérica para a construção incremental de agregações. Esse padrão esconde os detalhes de como os componentes são criados, representados e compostos.
Adapter - A ação desse padrão converte a interface de uma classe em outra, esperada pelo objeto cliente. Através dessa conversão, permite que classes com incompatibilidade de interfaces, consigam serem adaptadas para que outros objetos possam trabalhar juntos.
Facade - Oferece uma interface unificada para um conjunto de objetos que consistem um subsistema, definindo uma interface de alto nível que facilita no uso.
Fonte: https://www.devmedia.com.br/entendendo-os-conceitos-dos-padroes-de-projetos-em-java/29083
Um dos mecanismos da orientação a objetos para reutilização de software é a identificação e documentação de padrões de projeto (design patterns), que são modelos particulares de classes e de objetos comunicantes que se repetem de um projeto para outro e que podem assim ser padronizados.
Errado.
Os padrões de projeto (design patterns) são técnicas ou abordagens que os desenvolvedores de software usam para resolver problemas comuns ao projetar sistemas. Eles não se limitam apenas a algoritmos ou à implementação de objetos, mas também ajudam a organizar como os diferentes partes de um sistema se comunicam entre si através de interfaces claras. Essas interfaces definem como os diversos componentes do sistema interagem e trabalham juntos de maneira eficiente.
Portanto, os padrões de projeto não só tratam de algoritmos e implementações, mas também contribuem para a definição de como os objetos devem se comunicar através de interfaces bem definidas.
Design patterns frequentemente contribuem para a especificação de interfaces de objetos, promovendo flexibilidade e manutenção ao definir contratos claros entre objetos.
Explicação Lúdica: Imagine um manual de instruções que diferentes fabricantes de brinquedos seguem para garantir que todas as peças se encaixem. Ex: Strategy, Observer e Factory Method utilizam interfaces.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo