Download - Distribution Patterns

Transcript

Design Patterns (GoF)

Prototype

O padrão Prototype é utilizado frequentemente em linguagens estaticamente tipadas

como C++ e Java, e menos freqüentemente utilizadas em linguagens dinamicamente

tipadas como Smalltalk.

O padrão Prototype exige a implementação de uma operação de clonagem em cada uma

das classes concretas do protótipo. Esta tarefa pode ser inconveniente, no caso do

reaproveitamento de classes pré-existentes que não possuem tal operação, ou mesmo

complexa, se for considerada a possibilidade de existirem referências circulares nos

atributos de um objeto (um objeto possui um atributo que referencia um objeto que, por

sua vez, referência o objeto original).

O padrão Prototype pode ser utilizado em sistemas que precisam ser independentes da forma como os seus componentes são criados, compostos e representados. O padrão Prototype pode ser útil em sistemas com as seguintes características:

Sistemas que utilizam classes definidas em tempo de execução;Sistemas que utilizam o padrão Abstract Factory para criação de objetos. Neste caso, a hierarquia de classes pode se tornar muito complexa e o padrão Prototype pode ser uma alternativa mais simples, por realizar a mesma tarefa com um número reduzido de classes;Sistemas que possuem componentes cujo estado inicial possui poucas variações e onde é conveniente disponibilizar um conjunto pré-estabelecido de protótipos que dão origem aos objetos que compõem o sistema.

Distribution Patterns Data Transfer Object (Objeto de Transferência de Dados)

É um padrão de projeto de software usado para transferir dados entre subsistemas de um software. DTOs são frequentemente usados em conjunção com objetos de acesso a dados para obter dados de um banco de dados.A diferença entre objetos de transferência de dados e objetos de negócio ou objetos de acesso a dados é que um DTO não possui comportamento algum, exceto o de armazenamento e obtenção de seus próprios dados. DTOs são objetos simples que não contêm qualquer lógica de negócio que requeira testes.Em uma arquitetura EJB tradicional, os DTOs servem para dois propósitos: primeiro, contornar o problema que entidades do EJB não são serializáveis; segundo, eles definem implicitamente uma fase de montagem onde todos os dados que serão usados para apresentação passam por marshalling antes de irem efetivamente para a camada de apresentação. Uma terceira razão para usar DTOs é que camadas não-adjacentes à camada de dados da aplicação não podem acessar estes objetos e modificá-los.

Framework

Spring MVC

O framework Spring, é um dos frameworks Java mais conhecido e utilizado. Esse framework implementa um grande número de funções, como injeção de dependência, persistência de dados e uma implementação para o padrão MVC para a criação de aplicações WEB.O Spring é um framework open source para a plataforma Java criado por Rod Johnson e descrito em seu livro "Expert One-on-One: JEE Design e Development". Trata-se de um framework não intrusivo. No Spring o container se encarrega de "instanciar" classes de uma aplicação Java e definir as dependências entre elas através de um arquivo de configuração em formato XML, inferências do framework, o que é chamado de auto-wiring ou ainda anotações nas classes, métodos e propriedades. Dessa forma o Spring permite o baixo acoplamento entre classes de uma aplicação orientada a objetos.O Spring possui uma arquitetura baseada em interfaces e POJOs (Plain Old Java Objects), oferecendo aos POJOs características como mecanismos de segurança e controle de transações. Também facilita testes unitários e surge como uma alternativa à complexidade existente no uso de EJBs. Com Spring, pode-se ter um alto desempenho da aplicação.Esse framework oferece diversos módulos que podem ser utilizados de acordo com as necessidades do projeto, como módulos voltados para desenvolvimento Web, persistência, acesso remoto e programação orientada a objetos.