segunda-feira, 18 de janeiro de 2016

Padrões de Projeto - Resumo

Padrões de Projeto.

Parte 1.

Teoria:

Os padrões de projeto se baseiam-se no reuso e na facilidade que essa reutilização proporciona no desenvolvimento de projetos orientados a objetos. O software deve ser orientado a objeto reutilizável, a fim de atender a outros requisitos.

Beneficíos

  • Construção de software confíavel com arquitetura testada.
  • Na promoção da reutilização de projetos em futuros sistemas
  • No encurtamento da fase de projeto no processo de desenvolvimento de um software.
São elementos essenciais do padrão de projeto:

  • Nome do padrão: é uma referência que identificará o problema de projeto, suas soluções e consequências.
  •  Problema: descreve o problema e o contexto com o intuito de saber quando aplicar o padrão.
  • Solução: descreve os elementos que compõem o projeto, seus relacionamentos, suas responsabilidades e colaborações.
  • Consequências: são os resultados e a análise das vantagens e desvantagens (trade-offs) da aplicação padrão.
Catálogo dos padrões de projeto GOF 


Memorização (concurso):

Padrões de criação:

Fabricas abstratas constroem protótipos únicos.

Definição em uma frase:


Abstract factory: Produtos portáveis utilizam o conceito abstrato desse padão para desvincular código fundamental da aplicação de recursos que são dependentes da plataforma.

Esse padão é comporto de :

  • AbstractFactory: Declara uma interface para operação que criam objetos abstratos.
  • ConcretFactory: Implementa operações especificas para criar objetos concretos.
  • AbstractProduct: Declara uma interface para cada tipo de objeto.
  • ConcreteProduct: implementa uma interface de abstractProdut para definir um objeto que pode ser criado por sua concreteFactory correspondente.
  • Client: Utiliza interfaces declaradas pelo abstractFactory e abstractProduct, sem se preocupar com as implementações concretas.
Ex: Promover compatibilidade de um sistema de celular para várias arquiteturas diferentes. É possível desenvolver uma classe genérica e implementar classes concretas adequadas para cada aparelho.


Buildersepara a construção de um objeto complexo da sua representação, de modo que o mesmo processo de construção possa criar diferentes representações.
Ex: Sistema de tratamento de imagens, cada nova função irá surgir em um modulo novo, permanecendo o principal inalterável.



Prototype: especifica os tipos de objetos a serem criados usando uma instância prototípica e cria novos objetos copiando este protótipo.

Singleton: garante que uma classe tenha somente uma instância e fornece um ponto global de acesso para ela.





Nenhum comentário:

Postar um comentário