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.
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
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.