The Wayback Machine - https://web.archive.org/web/20201016080657/https://github.com/kelvins/design-patterns-python
Skip to content
main
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Padrões de Projeto em Python

Material de estudo sobre padrões de projeto em Python com código, descrição e em pt-br 🇧🇷

Padrões Comportamentais Se concentram nos algoritmos e atribuições de responsabilidades
🔗 Chain of Responsibility Nos permite aplicar uma lógica sequencial de forma dinâmica
👮 Command Executa uma sequência de comandos em cima de algum dado
💬 Interpreter Quando precisamos interpretar diversas operações
Iterator Uma maneira de acessar elementos de um objeto sem expor o conteúdo todo
👽 Mediator Encapsula a lógica de comunicação entre um conjunto de objetos
💾 Memento Guardar um estado que possa ser restaurado futuramente
😎 Observer Criar uma lista de observadores interessados pela criação de um objeto
💢 State Define um conjunto de estados e os mesmos possuem uma ordem bem definida
💡 Strategy Passa como parâmetro uma função (estratégia) para outro método
📒 Template Method Classes abstratas para abstrair métodos em comum entre diversas classes
🏃 Visitor Permite navegar pelos elementos de uma estrutura de dados
Padrões de Criação São aqueles que abstraem ou adiam o processo de criação dos objetos
🔨 Abstract Factory Cria um ou mais métodos de fábrica para criar uma família de objetos relacionados
👷 Builder Recebe parâmetros, verifica a validade e até definir parâmetros padrões
🏭 Factory Method Permite expor métodos ao cliente para criar novos objetos
1️⃣ Monostate (Borg) Cria mais de uma instância de uma classe mas todos os objetos tem o mesmo estado
🐑 Prototype O padrão prototype é um padrão utilizado basicamente para clonar objetos
💎 Singleton Garante que apenas um objeto de uma determinada classe seja criado
Padrões Estruturais Se preocupam com a forma como classes e objetos são compostos
🔌 Adapter Embrulha um objeto em um adaptador para torná-lo compatível com outras classes
🚡 Bridge Dissocia uma abstração de sua implementação para que possam variar
🌿 Composite Permite tratar objetos individuais de forma uniforme
🎨 Decorator Permite compor/decorar os parâmetros de forma dinâmica
📦 Facade Promove o desacoplamento da implementação com vários clientes
🍃 Flyweight Minimiza o uso de custos computacionais compartilhando dados entre objetos
🎱 Proxy Um objeto agente que encapsula o objeto que está realmente servindo

Contribuindo

Se você tem interesse em contribuir com o projeto 😍 por favor leia o documento CONTRIBUTING.

Referências

You can’t perform that action at this time.