Nesse post será abordado um pouco sobre o padrão GRASP. Esse padrão GRASP procuram oferecer caminhos para a construção de aplicações bem estruturadas e que possam ser facilmente adaptáveis quando aparecem mudanças a serem feitas.
Essas diretrizes buscam fazer com que o código fique melhor organizado, facilitando a manutenção e como se trata de um padrão se aplicado corretamente o seu código pode ser compreendido por outros programadores sem nenhuma dificuldade.
Os padrões GRASP não devem ser encarados como soluções pré-definidas para problemas específicos. Na verdade, estes padrões devem ser compreendidos como princípios que auxiliam os desenvolvedores. Ao todo são nove os padrões GRASP:
Padrões Básicos:
- Information Expert
- Creator
- High Cohesion
- Low Coupling
- Controller
Padrões Avançados:
- Polymorphism
- Pure Fabrication
- Indirection
- Protected Variations
O SOLID, assim como o GRASP, é um acrônimo para Single Responsability, Open/closed, Liskov Substitution, Interface Segregation e Dependency Inversion
- Single Responsability: princípio da responsabilidade única.
- Open/closed: todas as entidades devem ser abertas para extensão e fechadas para alterações.
- Liskov Substitution: qualquer objeto do tipo X ( que é subtipo de Y) deveria poder substituir um objeto do tipo Y sem alterar as propriedades básicas do sistema.
- Interface Segregation: As interfaces tenham somente os métodos que serão usados por quem vai implementar essa interface.
- Dependency Inversion: os módulos tem que depender de abstrações e não de classes concretas.
A diferença entre o GRASP e o SOLID é que o SOLID é bem menor em questão de diretrizes, que em compensação o SOLID abrange um pouco mais do que princípios para atribuição de responsabilidades e ele te oferece um política de boas práticas de como devem ser as características do sistema.
A diferença entre o GRASP e o GoF é que o GoF é bem maior. São ao todo 23 padrões que sãodivididos em três categorias
São divididos em três categorias :
- Padrões comportamentais
- Padrões criativos
- Padrões estruturais
Nenhum comentário:
Postar um comentário