005 – Padrões de Projeto GRASP
Playlist: Curso Grátis de FLUTTER e DART Completo
Padrões de Projeto GRASP
Os padrões GRASP, sigla para General Responsibility Assignment Software Patterns (or Principles), consistem de um conjunto de práticas para atribuição de responsabilidades a classes e objetos em projetos orientados a objeto.
Os padrões GRASP (General Responsibility Assignment Software Patterns), são responsáveis pela descrição de princípios de fundamental importância para a atribuição de responsabilidades em projetos orientados a objetos, oferecendo um melhor desempenho do código, e trabalhando acerca de solucionar problemas, garantindo melhor interface do projeto.
Sendo assim, é importante sabermos que a qualidade do projeto orientado a objetos está diretamente relacionada com a distribuição dessas obrigações, que promovem a não sobrecarga de objetos já que ocorre nesse processo a delegação de atividades, ou seja, cada objeto terá uma função específica, de modo que, o que ele não souber fazer será repassado para o objeto que está mais preparado para fazer.
Todos esses padrões servem para a resolução de problemas comuns e bastante típicos de desenvolvimento de software orientado a objeto. Portanto, tais técnicas apenas documentam e normatizam as práticas já consolidadas, testadas e conhecidas no mercado.
Os padrões GRASP estão mais como uma ferramenta mental ou uma filosofia de design, mas que ainda assim são úteis para o aprendizado e desenvolvimento de um bom design de software. Note que alguns padrões GoF implementam soluções correspondentes com padrões GRASP.
Tipos de Padrões Grasp
Dentro do GRASP podemos encontrar vários padrões relacionados aqueles de caráter básicos e avançados.
Padrões Básicos:
Information Expert (ver Especialista na Informação);
Creator (ver Factory Method);
High Cohesion (ver Coesão);
Low Coupling(ver Acoplamento);
Controller(ver Model-view-controller).
Padrões Avançados:
Polymorphism (ver Polimorfismo);
Pure Fabrication;
Indirection (ver Indireção);
Protected Variations (ver Variações Protegidas).