Erasmo Carvalho
Erasmo Carvalho
Senior Programmer Systems Analyst Dev Full Stack Senior
Erasmo Carvalho

Blog

PADRÕES de PROJETO em C#

PADRÕES de PROJETO em C#

PADRÕES de PROJETOemC

O catálogo dos exemplos C#

Padrões criacionais

Abstract Factory

Abstract Factory 

Permite que você produza famílias de objetos relacionados sem ter que especificar suas classes concretas.

 Artigo principal

 Uso em C#

 Exemplo de código

Builder

Builder 

Permite construir objetos complexos passo a passo. O padrão permite produzir diferentes tipos e representações de um objeto usando o mesmo código de construção.

 Artigo principal

 Uso em C#

 Exemplo de código

Factory Method

Factory Method 

Fornece uma interface para criar objetos em uma superclasse, mas permite que as subclasses alterem o tipo de objetos que serão criados.

 Artigo principal

 Uso em C#

 Exemplo de código

Prototype

Prototype 

Permite que você copie objetos existentes sem fazer seu código ficar dependente de suas classes.

 Artigo principal

 Uso em C#

 Exemplo de código

Singleton

Singleton 

Permite a você garantir que uma classe tem apenas uma instância, enquanto provê um ponto de acesso global para esta instância.

 Artigo principal

 Uso em C#

 Singleton ingênuo

 Singleton seguro para threads

Padrões estruturais

Adapter

Adapter 

Permite a colaboração de objetos de interfaces incompatíveis.

 Artigo principal

 Uso em C#

 Exemplo de código

Bridge

Bridge 

Permite que você divida uma classe grande ou um conjunto de classes intimamente ligadas em duas hierarquias separadas—abstração e implementação—que podem ser desenvolvidas independentemente umas das outras.

 Artigo principal

 Uso em C#

 Exemplo de código

Composite

Composite 

Permite que você componha objetos em estrutura de árvores e então trabalhe com essas estruturas como se fossem objetos individuais.

 Artigo principal

 Uso em C#

 Exemplo de código

Decorator

Decorator 

Permite que você adicione novos comportamentos a objetos colocando eles dentro de um envoltório (wrapper) de objetos que contém os comportamentos.

 Artigo principal

 Uso em C#

 Exemplo de código

Facade

Facade 

Fornece uma interface simplificada para uma biblioteca, um framework, ou qualquer outro conjunto complexo de classes.

 Artigo principal

 Uso em C#

 Exemplo de código

Flyweight

Flyweight 

Permite que você coloque mais objetos na quantidade disponível de RAM ao compartilhar partes do estado entre múltiplos objetos ao invés de manter todos os dados em cada objeto.

 Artigo principal

 Uso em C#

 Exemplo de código

Proxy

Proxy 

Permite que você forneça um substituto ou um espaço reservado para outro objeto. Um proxy controla o acesso ao objeto original, permitindo que você faça algo ou antes ou depois do pedido chegar ao objeto original.

 Artigo principal

 Uso em C#

 Exemplo de código

Padrões comportamentais

Chain of Responsibility

Chain of Responsibility 

Permite que você passe pedidos por uma corrente de handlers. Ao receber um pedido, cada handler decide se processa o pedido ou passa para o próximo handler da corrente.

 Artigo principal

 Uso em C#

 Exemplo de código

Command

Command 

Transforma o pedido em um objeto independente que contém toda a informação sobre o pedido. Essa Transformação permite que você parametrize métodos com diferentes pedidos, atrase ou coloque a execução do pedido em uma fila, e suporte operações que não podem ser feitas.

 Artigo principal

 Uso em C#

 Exemplo de código

Iterator

Iterator 

Permite que você percorra elementos de uma coleção sem expor as representações estruturais deles (lista, pilha, árvore, etc.)

 Artigo principal

 Uso em C#

 Exemplo de código

Mediator

Mediator 

Permite que você reduza as dependências caóticas entre objetos. O padrão restringe comunicações diretas entre objetos e os força a colaborar apenas através do objeto mediador.

 Artigo principal

 Uso em C#

 Exemplo de código

Memento

Memento 

Permite que você salve e restaure o estado anterior de um objeto sem revelar os detalhes de sua implementação.

 Artigo principal

 Uso em C#

 Exemplo de código

Observer

Observer 

Permite que você defina um mecanismo de assinatura para notificar múltiplos objetos sobre quaisquer eventos que aconteçam com o objeto que eles estão observando.

 Artigo principal

 Uso em C#

 Exemplo de código

State

State 

Permite que um objeto altere seu comportamento quando seu estado interno muda. Parece como se o objeto mudasse de classe.

 Artigo principal

 Uso em C#

 Exemplo de código

Strategy

Strategy 

Permite que você defina uma família de algoritmos, coloque-os em classes separadas, e faça os objetos deles intercambiáveis.

 Artigo principal

 Uso em C#

 Exemplo de código

Template Method

Template Method 

Define o esqueleto de um algoritmo na superclasse mas deixa as subclasses sobrescreverem etapas específicas do algoritmo sem modificar sua estrutura.

 Artigo principal

 Uso em C#

 Exemplo de código

Visitor

Visitor 

Permite que você separe algoritmos dos objetos nos quais eles operam.

 Artigo principal

 Uso em C#