quarta-feira, 27 de fevereiro de 2008

Padrões GRASP (Padrão Especialista na informação)

AULA 5

Como foi abordado na postagem anterior, padrões de software são princípios gerais de soluções que guiam o desenvolvimento de software, em outras palavras, são normas que permitem o desenvolvimento de alta qualidade de produtos de software. Existem nove destes padrões, mas vamos nos concentrar apenas nos cinco primeiros que são:

  1. Especialista na informação: Padrão mais utilizado para atribuir responsabilidades, é aquele que atribui responsabilidades a quem realmente detêm a informação necessária para preencher os requisitos daquela responsabilidade.
  2. Padrão Criador: qual a classe responsável por criar instâncias de outra?
  3. Baixo Acoplamento: responsável por minimizar dependências entre as classes e maximizar o reuso.
  4. Alta Coesão: responsável por manter a alta coesão entre as classes, ou seja, delegar responsabilidades e não deixar que certas classes assumam responsabilidades de outras.
  5. Controlador: responsável por tratar eventos do sistema, eventos são operações geradas por um ator externo do sistema.

Agora que já definimos cada um dos cinco primeiros padrões, vamos entender cada um com mais clareza.

Padrão Especialista

O principal objetivo dos padrões de projeto de software é a atribuição de responsabilidades, e o padrão especialista como o próprio nome já diz, é aquele responsável por atribuir responsabilidade à classe que tem informação necessária para suprir aquela responsabilidade.

É o padrão mais usado de todos, a informação necessária para uma determinada classe geralmente está espalhada entre várias classes, e através deste padrão é possível descobrir esta informação, bem como no mesmo caminho feito para esta descoberta, conhecer outros “expert information” de outras classes que estão relacionadas entre si.

As conseqüências do uso deste padrão é que o encapsulamento é mantido, já que objetos usam sua própria informação para cumprir responsabilidades, leva ao fraco acoplamento entre objetos e à alta coesão já que objetos fazem tudo que é relacionado à sua própria informação.

Este Padrão também é conhecido como:

  1. "Colocar as responsabilidades com os dados";
  2. "Quem sabe, faz";
  3. "Animação";
  4. "Eu mesmo faço";
  5. "Colocar os serviços junto as atributos que eles manipulam";

5 primeiros Padrões

Nenhum comentário: