quinta-feira, 22 de agosto de 2013

J2EE Design Patterns

Presentation
·         Front Controller
      Centraliza as requisições de um sistema.  Geralmente delega o request para o worker.
·         Intercepting Filter
      Faz um pré e um pós processamento nas requisições.  Intercepta as chamada e faz filtros.  Plugavel
·         Composite View:
      Gerencia o layout e faz uma composição de views.  JSP, junta vários JSPs. 
·         View Helper
      Simplifica o acesso ao modelo e à logica.  Desacopla  classes negócio e aplicação.  Classe pojo para visualização.
·         Service to Worker
      Garante que chamou a logica antes de passar para a view.  View Helper + Dispacher.  Funciona sobre o Front Controller.  É o Action
·         Dispatcher View
      Dispacher + View + Helper Faz outras análises não necessariamente levando em conta a lógica de negócio.  Também pode ser chamada pelo Front Controler.  Parece ser o controle no JavaScript.  Reponsabilidade limitada
·         Context Object
      Objeto de contexto do sistema. Sempre verificar o contexto antes de executar.  Encapsula o estado.
·         Application Controller
      Usado pelo Front Controller para centralizar e realizar o gerenciamento das ações e o fluxo da aplicação e suas visões
Business Tier Patterns
·         Business Delegate
      Reduz o acoplamento entre a camada web e EJB.  Para esconder do cliente as complexidades da comunicações remotas com os componentes de serviço.  Encapsula um Session Façade.
·         Session Facade
      Coordena operações entre vários objetos de negócio em um workflow.  Centraliza as chamadas em comum ao invés de usar vários objetos de negócio de uma vez.
·         Service Locator
      Encontrar objetos de forma transparente.  Centraliza os serviços de lookups de objetos distribuidos, provê um ponto de controle único.  Pode ter cache.  (JNDI, RMI, JMS )
·         Transfer Object (Value Objet)
      Classe serializada com atributos e composições para transferencia em métodos remotos.
·         Composite Entity
      A interface do Entity Bean que é herdada do objeto de domínio do modelo.  Usado quando é necessária várias chamadas ao EJB, então faz um composite de POJOs.  Pega o dado de si mesmo, e não de várias fontes.
·         Transfer Object Assembler
      Usado quando precisa de várias chamadas.  Mas é uma união de várias fontes.
·         Value List Handler
      Para fazer interação sobre uma lista remota. Guarda toda a lista e depois envia para o cliente.
·         Business Object
      Quando se tem um objeto de modelo com lógica de negócio.  Cria um Business Ojbect para separar.
·         Application Service
      Para prover uma camada uniforme de serviço.  Centraliza e agrega o comportamento de um conjunto de objetos e sua lógica de negócio. Pode usar a Service Façade atraves do Business Delegate.  Geralmente chama os Business Object.
Integration Patterns
·         Data Access Object
      Encapsula e deixa abstrato o mecanismo de acesso e manipulação DAO dado.
·         Service Activator
      Ativação de serviços assincronamente.  Publish/Subscribe, mensagens, etc. Recebe requests assíncronos e invoca os seus serviços.
·         Domain Store
      Separação da camada de persistência do objeto de domínio.  A classe de store utiliza uma do dominio ou um Business Object.  Usa o DAO.
·         Web Service Broker

      Disponibiliza serviços em um Web Service para os clientes usando XML e protocolos WEB.

Nenhum comentário:

Postar um comentário