Você está na página 1de 6

Divido em Camadas

Euclydes Gregrio de Melo


Analista de TI / Desenvolvedor JEE Aspirante a Arquiteto de Software

Divide as dificuldades que tenhas de examinar em tantas partes quantas for possvel, para uma melhor soluo. Ren Descartes

Divido em Camadas

Eu j programo em camadas!!! #@$*&

System.out.print(!"Separao em Camadas".equals("Separao em Pacotes")); Ento como organizar meu Projeto em Camadas;

Alinhando alguns conceitos...


Acoplamento Coeso

Hum..Ento, dividir em camadas significa baixar o acoplamento e aumentar a coeso?

Divido em Camadas
No declare variveis como instncias de classes concretas especficas. Em vez disso, prenda-se somente a uma interface definida por uma classe abstrata. [GoF] Resumindo: Programe para uma interface, no para uma implementao. [GoF]

Divido em Camadas

Vantagens (Martin Fowler)

Possibilidade de compreender uma nica camada como um todo coerente; Possibilidade de substituio de camadas por implementaes; Minimizao de dependncias entre camadas; Com uma camada construda, possvel us-la para muitos servios de mais alto nvel. Flexibilidade, Manutenabilidade, Escalabilidade, Felicidade...

E mais (Eu)

Divido em Camadas

AINDA NO T CONVENCIDO!!!!!!!!!!

Divido em Camadas

Dependency Inversion Principle


Propsito O Principio em si:

Mdulos de Alto Nvel no devem depender de Mdulo de Baixo Nvel; As abstraes no devem depender das implementaes, mas sim o contrrio.

Mas como abstrair? Vamos deixar de conversa e vamos colocar a mo na massa!!!

Você também pode gostar