Este repositório apresenta vários padrões de projeto, junto com seus casos de uso práticos e explicações em profundidade. Cada padrão é apresentado através da combinação de diagramas, snippet de código e exemplos de aplicações para ajudar a entender melhor os conceitos.
- ✅ Agrupamento dos padrões
- ✅ Modal para mostrar exemplos de código
- ✅ Fechar o modal apenas ao clicar no X ou com a tecla Esc
- ✅ Retornar a scrollbar para a posição inicial ao sair do exemplo de código
- ✅ Exemplos de código reais para cada padrão
- ✅ Exemplos de código em cores (EnlighterJS)
- ✅ Representação em grafo dos padrões (D3.JS)
- ✅ Adequar apresentação das seções e SVG ao mobile
- ⬜ Adicionar contador de visitantes
- ⬜ Adicionar casos de uso
- ⬜ Classificação por critérios (complexidade, popularidade, etc.)
- ⬜ Revisar idioma dos exemplos
- ⬜ Retornar informações dinamicamente
Padrões de projeto são soluções reutilizáveis para problemas comuns no design de software. Eles fornecem estratégias provadas para escrever códigos mais manuteníveis, flexíveis e escaláveis.
| Padão | Descrição | Exemplo de Código |
|---|---|---|
| Singleton | Garante que uma classe tenha apenas uma instância. | singleton.py |
| Factory Method | Fornece uma interface para criar objetos sem especificar o tipo concreto. | factory_method.py |
| Observer | Permite que objetos sejam notificados de alterações em outros objetos. | observer.py |
This repository showcases various design patterns, along with their practical use cases and in-depth explanations. Each pattern is presented through a combination of diagrams, code snippets, and example applications to help you understand the concepts better.
Design patterns are reusable solutions to common problems in software design. They provide proven strategies for writing more maintainable, flexible, and scalable code.
| Pattern | Description | Example Code |
|---|---|---|
| Singleton | Ensures a class has only one instance. | singleton.py |
| Factory Method | Provides an interface for creating objects without specifying the concrete type. | factory_method.py |
| Observer | Allows objects to be notified of changes to other objects. | observer.py |