Entendendo Padrões de Projeto Flashcards
O que o paradigma orientado a objetos trouxe de solução ao desenlvovimento de software?
Além da estruturação lógica a estruturação de dados e conceitos de software.
Possibilidade de abstração de conceitos, e por consequência maior flexibilidade e comunicação do código
Qual o problema em usar a analogia ‘ a classe é a forma e o objeto é o pão’ ? E qual seria o entendimento correto.
Dá a entender que a classe é que produz o objeto - como uma Factory .
Objetos representam entidades concretas do sistema, enquanto as classes abstraem suas características.
Quais conceitos os paradigma orientado a objetos trouxe?
Classe e objetos, herança, encapsulamento, polimorfismo.
Como decidir entre classe abstrata e interface?
Quando a abstração que precisar ser criada for um conceito, ou seja, algo que possa ser refinado e espacializado, deve-se utilizar uma classe abstrata.
Quando a abstração é um comportamento, ou seja, algo que uma classe deve saber fazer, então a melhor solução é a criação de uma interface.
O que é um Anti-pattern?
É um padrão recorrente nas soluções de software, mas que traz mais consequências negativas.
Por que padrões não podem ser gerados automaticamente no código?
Padrão não é só classes, mas conceito e contexto. Alguns padrões são idênticos em questão de implementação, mas resolvem problemas conceituais diferentes.
Quando não usar um padrão?
Quando as consequências negativas do padrão forem mais significantes que as vantagens.