Padrões Arquiteturais

49
Rodrigo Bonifácio ([email protected] ) Padrões Arquiteturais Thursday, November 10, 2011

Transcript of Padrões Arquiteturais

Page 2: Padrões Arquiteturais

Não é um livro excelente, mas...(vale a pena comprar)

Thursday, November 10, 2011

Page 3: Padrões Arquiteturais

Categorias de Padrões Arquiteturais

From Mud to Structure

Layers, Pipes and Filters, Blackboard

Distributed Systems

Interactive Systems MVC, Presentation-Abstraction-Controller

Adaptable Systems

Thursday, November 10, 2011

Page 4: Padrões Arquiteturais

Padrão arquitetural em camadas (Layers)

Thursday, November 10, 2011

Page 5: Padrões Arquiteturais

Padrão arquitetural em camadas (Layers)

Estilo muito comum no desenvolvimento de aplicações corporativas

Thursday, November 10, 2011

Page 6: Padrões Arquiteturais

Estrutura usando CRC(class-responsability-collaboration card)

Thursday, November 10, 2011

Page 7: Padrões Arquiteturais

Usos Comuns

Pilha de protocolos de redes de computadores

Sistemas operacionais (um pouco de micro kernel?)

Sistemas de informação (ou aplicações corporativas)

Thursday, November 10, 2011

Page 8: Padrões Arquiteturais

Outra leitura obrigatoria...(para quem trabalha com sistemas convencionais)

Thursday, November 10, 2011

Page 9: Padrões Arquiteturais

Aplicações corporativas

• Gerenciam os processos de uma organização

• Usualmente seguem uma arquitetura em camadas

Thursday, November 10, 2011

Page 10: Padrões Arquiteturais

Aplicações corporativas

• Gerenciam os processos de uma organização

• Usualmente seguem uma arquitetura em camadas

Thursday, November 10, 2011

Page 11: Padrões Arquiteturais

Thursday, November 10, 2011

Page 12: Padrões Arquiteturais

Thursday, November 10, 2011

Page 13: Padrões Arquiteturais

Padrões da Camada de Negócio

Thursday, November 10, 2011

Page 14: Padrões Arquiteturais

Thursday, November 10, 2011

Page 15: Padrões Arquiteturais

FACADE

Thursday, November 10, 2011

Page 16: Padrões Arquiteturais

Thursday, November 10, 2011

Page 17: Padrões Arquiteturais

Lógica em “scripts”

Thursday, November 10, 2011

Page 18: Padrões Arquiteturais

Thursday, November 10, 2011

Page 19: Padrões Arquiteturais

Lógica também em classes de entidade!

Thursday, November 10, 2011

Page 20: Padrões Arquiteturais

Thursday, November 10, 2011

Page 21: Padrões Arquiteturais

Padrões de Acesso a Dados

Thursday, November 10, 2011

Page 22: Padrões Arquiteturais

Thursday, November 10, 2011

Page 23: Padrões Arquiteturais

Data Acce

ss Objects

Thursday, November 10, 2011

Page 24: Padrões Arquiteturais

Thursday, November 10, 2011

Page 25: Padrões Arquiteturais

Thursday, November 10, 2011

Page 26: Padrões Arquiteturais

Thursday, November 10, 2011

Page 27: Padrões Arquiteturais

Mapeamento OR(associações)

Thursday, November 10, 2011

Page 28: Padrões Arquiteturais

Mapeamento OR(associações n-n)

Thursday, November 10, 2011

Page 29: Padrões Arquiteturais

Mapeamento OR(herança)

Thursday, November 10, 2011

Page 30: Padrões Arquiteturais

Mapeamento OR(herança)

Pouco elegante, por outro lad

o eficiente

Thursday, November 10, 2011

Page 31: Padrões Arquiteturais

Mapeamento OR(herança)

Thursday, November 10, 2011

Page 32: Padrões Arquiteturais

Mapeamento OR(herança)

Thursday, November 10, 2011

Page 33: Padrões Arquiteturais

Mapeamento OR(herança)

Abordagem mais comum, mais e

legante, por outro

lado, pode prejudicar a p

erformance do sistema

Thursday, November 10, 2011

Page 34: Padrões Arquiteturais

Thursday, November 10, 2011

Page 35: Padrões Arquiteturais

Thursday, November 10, 2011

Page 36: Padrões Arquiteturais

Categorias de Padrões Arquiteturais

From Mud to StructureLayers, Pipes and Filters, Blackboard

Distributed Systems

Interactive Systems

MVC, Presentation-Abstraction-Controller

Adaptable Systems

Thursday, November 10, 2011

Page 37: Padrões Arquiteturais

Thursday, November 10, 2011

Page 38: Padrões Arquiteturais

Estrutura e responsabilidades

Java SE Application Design With MVCBy Robert Eckstein, March 2007ORACLE Corp (http://www.oracle.com/technetwork/articles/javase/mvc-136693.html)

Thursday, November 10, 2011

Page 39: Padrões Arquiteturais

Estrutura e responsabilidades

Java SE Application Design With MVCBy Robert Eckstein, March 2007ORACLE Corp (http://www.oracle.com/technetwork/articles/javase/mvc-136693.html)

Thursday, November 10, 2011

Page 40: Padrões Arquiteturais

Estrutura e responsabilidades

Java SE Application Design With MVCBy Robert Eckstein, March 2007ORACLE Corp (http://www.oracle.com/technetwork/articles/javase/mvc-136693.html)

Variação com Mediator

Thursday, November 10, 2011

Page 41: Padrões Arquiteturais

Thursday, November 10, 2011

Page 42: Padrões Arquiteturais

View e Controller concebidos para trabalharem juntos

Thursday, November 10, 2011

Page 43: Padrões Arquiteturais

View e Controller concebidos para trabalharem juntos

• Comunicação direta entre eles

Thursday, November 10, 2011

Page 44: Padrões Arquiteturais

View e Controller concebidos para trabalharem juntos

• Comunicação direta entre eles

• Mas, como notificar o componente View das mudanças do Model? Diferentes alternativas:

Thursday, November 10, 2011

Page 45: Padrões Arquiteturais

View e Controller concebidos para trabalharem juntos

• Comunicação direta entre eles

• Mas, como notificar o componente View das mudanças do Model? Diferentes alternativas:

(1) Responsabildiade do Controller

Thursday, November 10, 2011

Page 46: Padrões Arquiteturais

View e Controller concebidos para trabalharem juntos

• Comunicação direta entre eles

• Mas, como notificar o componente View das mudanças do Model? Diferentes alternativas:

(1) Responsabildiade do Controller

(2) Mecanismo publish-subscribe

Thursday, November 10, 2011

Page 47: Padrões Arquiteturais

Exemplo

Thursday, November 10, 2011

Page 48: Padrões Arquiteturais

Exemplo

Thursday, November 10, 2011