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 :
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.
Builder: separa 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.
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