DEV - Design Patterns

Descripción

Design Patterns
Carlos Lopes
Fichas por Carlos Lopes, actualizado hace más de 1 año
Carlos Lopes
Creado por Carlos Lopes hace alrededor de 9 años
10
0

Resumen del Recurso

Pregunta Respuesta
PADRÕES CRIACIONAIS - Abstract Factory - Builder - Factory - Prototype - Singleton
Abstract Factory Provê uma interface para a criação de uma família de objetos relacionados ou dependentes sem especificar sua classe concreta.
AbstractFactory: Quando usar? Construtores são naturalmente limitados. Existem situações onde objetos complexos são necessários, uma fábrica é mais expressiva nesse sentido.
Builder Separa a construção de um objeto de sua representação, então, a mesma construção pode criar diferentes representações de um objeto.
Builder: obs Builder permite o cliente criar objetos complexos definindo apenas o tipo e o conteúdo, escondendo todos os detalhes de criação. Builder dá mais controle sobre o passo a passo do que a Factory.
Factory Define uma interface para a criação de um objeto mas deixa subclasses decidirem qual classe instanciar
Factory: Quando usar? Existem situações onde o cliente não deve conhecer qual classe será instanciada. Factory permite que o cliente use uma indireção para a criação de um objeto enquanto mantém o controle sobre qual classe será instanciada.
Prototype Um inicializador de instancias para serem copiadas ou clonadas.
Singleton Permite apenas uma instância de uma classe.
Singleton: Quando usar? Quando é necessário permitir visibilidade global ou um único ponto de acesso para uma instância de uma classe. Normalmente fábricas são acessadas a partir de objetos Singleton.
PADRÕES ESTRUTURAIS - Adapter - Bridge - Composite - Decorator - Façade - Flyweigth - Proxy
Adapter Fornece uma interface estável para componentes semelhantes com interfaces diferentes.
Adapter: OBS O Adapter adiciona um nível de Indireção com objetos que adaptam as interfaces externas para internas. Geralmente usado junto com a Factory
Bridge Separa a interface de um objeto de sua implementação
Composite Composição de objetos
Decorator Adiciona responsabilidades aos objetos dinamicamente. Fornece maneiras de se estender uma funcionalidade
Decorator: OBS No Decorator as responsabilidades são acopladas dinamicamente em oposição a herança, onde tudo é definido em tempo de compilação.
Façade Uma única classe que representa um subsistema inteiro ou um tratador de eventos por caso de uso
Flyweigth Facilita o compartilhamento de grandes quantidades de objetos pequenos
FlyWeigth: OBS A intenção do flyweigth é compartilhar um grande numero de objetos pequenos eficientemente. Os dados compartilhados via flyweigth são imutáveis, então, só pode ser utilizados com dados que não sofrerão alteração constante.
Proxy Um objeto que representa outro objeto
PADRÕES COMPORTAMENTAIS Chains of Resp, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method, Visitor
Chains of Resp. Permite passar uma requisição entre uma cadeia de objetos até que algum objeto possa atender a essa requisição
Chains of Responsibility: OBS O objetivo é manter os objetos com fraco acoplamento. Desse modo a classe cliente não precisa conhecer diretamente a classe que pode atender a requisição.
Command Encapsula uma requisição de um comando como um objeto
Interpreter Um jeito de incluir elementos da linguagem em um programa
Iterator Como acessar elementos sequenciais de uma coleção
Mediator Define uma comunicação simplificada entre classes
Memento Captura e restaura o estado interno de um objeto
Observer Define uma dependência do tipo one-to-many entre objetos. Então, quando um é alterado os outros são notificados.
Observer: OBS Observer associa e desassocia observadores interessados em um determinado comportamento. Nenhum elemento depende diretamente do Observer o que promove o baixo acoplamento.
State Altera o comportamento de um objeto quando seu estado é alterado
State: OBS O estado de um objeto é representado por uma classe. O cliente pode mudar o estado de um objeto alterando a classe que o representa. Cada classe representa um estado em particular.
Strategy Define uma família de algoritmos, encapsula cada um em classes distintas e os deixa trabalhar de maneira intercambiável independente do cliente que o utiliza.
Strategy: OBS O strategy encapsula alternativas de algoritmos (estratégias) para uma operação em particular. i.e: clientes que optam por pagamento em crédito, débito, paypal, todas são estratégias de pgto.
Template Method Define o esqueleto do algoritmo em operação, atribuindo alguns passos para subclasses. As subclasses redefinem o algoritmos, sem mudar sua estrutura
TemplateMethod: OBS TemplateMethod fornece flexibilidade ao cod. É frequentemente utilizado quando se cria bibliotecas que serão usados por terceiros. Strategy e Template são parecidos, a diferença é que strategy muda o algoritmo por completo.
Visitor Define uma nova operação para uma classe sem alterá-la
Mostrar resumen completo Ocultar resumen completo

Similar

Test sobre la Organización del Estado de Los Reyes Católicos
maya velasquez
Tabla Periódica y Elementos
Diego Santos
Conceptos Básicos de la Física
Diego Santos
CONCEPTOS BÁSICOS DE EXCEL
paussh_best11
Cómo Aprender Idiomas Usando Fichas
Diego Santos
Inglés Exani II - Verbos Irregulares
Gastón Amato
INCONTINENCIA Y PROLAPSO
Luz Moor
Diagrama de Flujo Servicio de Peluqueria
Ricardo Lugo
CORRELATOS DEL DELITO.TEMA 3
Rafael Perez
106 Mejores Practicas en Supply Chain Management y Logistica
julian Valencia