sábado, 8 de julho de 2017

General Responsibility Assignment Software Patterns - GRASP

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