Padrões Arquiteturais

Post on 29-Jul-2015

152 views 10 download

Transcript of Padrões Arquiteturais

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

Thursday, November 10, 2011

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

Padrão arquitetural em camadas (Layers)

Thursday, November 10, 2011

Padrão arquitetural em camadas (Layers)

Estilo muito comum no desenvolvimento de aplicações corporativas

Thursday, November 10, 2011

Estrutura usando CRC(class-responsability-collaboration card)

Thursday, November 10, 2011

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

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

Thursday, November 10, 2011

Aplicações corporativas

• Gerenciam os processos de uma organização

• Usualmente seguem uma arquitetura em camadas

Thursday, November 10, 2011

Aplicações corporativas

• Gerenciam os processos de uma organização

• Usualmente seguem uma arquitetura em camadas

Thursday, November 10, 2011

Thursday, November 10, 2011

Thursday, November 10, 2011

Padrões da Camada de Negócio

Thursday, November 10, 2011

Thursday, November 10, 2011

FACADE

Thursday, November 10, 2011

Thursday, November 10, 2011

Lógica em “scripts”

Thursday, November 10, 2011

Thursday, November 10, 2011

Lógica também em classes de entidade!

Thursday, November 10, 2011

Thursday, November 10, 2011

Padrões de Acesso a Dados

Thursday, November 10, 2011

Thursday, November 10, 2011

Data Acce

ss Objects

Thursday, November 10, 2011

Thursday, November 10, 2011

Thursday, November 10, 2011

Thursday, November 10, 2011

Mapeamento OR(associações)

Thursday, November 10, 2011

Mapeamento OR(associações n-n)

Thursday, November 10, 2011

Mapeamento OR(herança)

Thursday, November 10, 2011

Mapeamento OR(herança)

Pouco elegante, por outro lad

o eficiente

Thursday, November 10, 2011

Mapeamento OR(herança)

Thursday, November 10, 2011

Mapeamento OR(herança)

Thursday, November 10, 2011

Mapeamento OR(herança)

Abordagem mais comum, mais e

legante, por outro

lado, pode prejudicar a p

erformance do sistema

Thursday, November 10, 2011

Thursday, November 10, 2011

Thursday, November 10, 2011

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

Thursday, November 10, 2011

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

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

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

Thursday, November 10, 2011

View e Controller concebidos para trabalharem juntos

Thursday, November 10, 2011

View e Controller concebidos para trabalharem juntos

• Comunicação direta entre eles

Thursday, November 10, 2011

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

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

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

Exemplo

Thursday, November 10, 2011

Exemplo

Thursday, November 10, 2011