Estudo do Livro "Learning Python Design Patterns"
Os padrões de projetos são soluções para determinados problemas de engenharia de software orientado a objetos que podem ser reutilizáveis independente da linguagem de programação. Inicialmente foram identificados 23 padrões.
- Reutilizável em vários projetos;
- Problemas em nível de arquitetura podem ser solucionados;
- Resistiram ao teste do tempo e tem sua eficácia comprovada, pois agrega a experiência de desenvolvedores e arquitetos;
- Ganho em confiabilidade;
- Padrões de criação
- Padrões estruturais
- padrões comportamentais
Os padrões de criação possuem as seguintes propriedades:
- Funcionam com base no modo como os objetos podem ser criados;
- Isolam os detalhes da criação dos objetos;
- O código é independente do tipo do objeto a ser criado;
Um exemplo para o padrão de criação é o Singleton.
Os padrões estruturais possuem as seguintes propriedades:
- Determinam o design da estrutua de objetos e classes para que estes possam ser compostos e resultados mais amplos sejam alcançados;
- Foco em simplificar a estrutura e identificar o relacionamento entre classes e objectos;
- Estão centrados em herança e composição de classes;
Um exemplo para o padrão de criação é o Adapter.
Os padrões comportamentais possuem as seguintes propriedades:
- Preocupação com a interação entre os objetos e suas responsabilidades;
- Os objetos devem ser capazes de interagir e, mesmo assim, devem ter baixo acoplamento;
Um exemplo para o padrão de criação é o Observer.
- Singleton
- Factory
- Simple Factory
- Factory Method
- Abstract Factory
- Façade
- Proxy
- Observer
- Command
- Template-Method
- MVC
- State
- Antipatterns