Projeto MinhaClinica – parte 3

 

Ainda sobre camadas…

Como já mencionado no post anterior as camadas do software devem se comunicar, mas de forma que não gere dependência excessiva. É aí que entra o uso de alguns padrões de projeto (design patterns).

Padrões de Projeto

Um definição clássica de Martin Fowler é que “um padrão é uma idéia que tem sido útil em um contexto prático e que provavelmente será útil em outros”. Resumindo eu digo que um padrão é uma solução já testada para problemas de modelagem que acontecem sempre.

Um exemplo desses problemas mencionados é que vamos enfrentar ao tentar manter as camadas do software menos acopladas possível. No desenvolvimento de software temos dois problemas sérios, a baixa coesão e o alto acoplamento.

 

  • Baixa coesão: Isso é detectado quando encontramos rotinas que realizam várias funções, e estas são dependentes entre si, ou seja, é o quanto que as operações de uma rotina dependem de outras.
  • Alto acoplamento: Encontramos um alto acoplamento quando temos rotinas que são muito dependentes de outras, aonde um alteração nessa outra conduz a um cascateamento de alterações, ou seja, é o quanto que as rotinas estão dependentes uma das outras.

Para amenizar esses problemas os padrões oferecem alguns princípios que, independentemente de se usar padrões ou não, se segui-los teremos bons resultados. Esses princípios são:

  • Modelar para interfaces.
  • Favorecer composição sobre herança.
  • Encontrar o que varia, e encapsulá-lo.

No próximo post quero falar um pouco sobre o padrão MVP (Model-View-Presenter) e como vamos utilizá-lo para separar a camada de interface do restante da aplicação. Até lá.

Esse post foi publicado em Arquitetura. Bookmark o link permanente.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s