Welcome to my repository for exploring and mastering Design Patterns! This space serves as a comprehensive resource to document my learning, insights, and implementation of various design patterns in software development.
This repository is dedicated to:
- Understanding Design Patterns through theoretical concepts and practical examples.
- Documenting the Gang of Four (GoF) design patterns and their use cases.
- Implementing patterns in [your chosen programming language].
- Sharing resources, references, and best practices for efficient software design.
Design Patterns are categorized into three main types:
-
Creational Patterns: Focus on object creation mechanisms.
- Factory Method
- Abstract Factory
- Builder
- Prototype
- Singleton
-
Structural Patterns: Deal with the composition of classes and objects.
- Adapter
- Bridge
- Composite
- Decorator
- Facade
- Flyweight
- Proxy
-
Behavioral Patterns: Concerned with object interaction and responsibilities.
- Chain of Responsibility
- Command
- Interpreter
- Iterator
- Mediator
- Memento
- Observer
- State
- Strategy
- Template Method
- Visitor
├── README.md # Overview of the project
├── concepts/ # Design pattern concepts
│ ├── creational/ # Creational design patterns
│ ├── structural/ # Structural design patterns
│ ├── behavioral/ # Behavioral design patterns
│ ├── resources/ # Learning materials, books, and articles
│ └── examples/ # Real-world implementations
└── questions/ # Questions and exercises
-
Clone the repository:
git clone https://github.com/atish1999/design-patterns-tutorial.git cd design-patterns-tutorial
-
Choose a pattern to explore and navigate to its directory.
-
Run the examples and review the code:
- Example for [Your Programming Language]:
[command to run your code. to be updated....]
- Example for [Your Programming Language]:
Here are some resources I’m using to deepen my understanding:
-
Books:
- "Design Patterns: Elements of Reusable Object-Oriented Software" by Erich Gamma et al.
- "Head First Design Patterns" by Eric Freeman and Elisabeth Robson.
-
Websites:
-
Videos:
Pattern | Theory ✅ | Code Example ✅ | Notes/Insights 📝 |
---|---|---|---|
Factory Method | [ ] | [ ] | |
Singleton | [ ] | [ ] | |
Observer | [ ] | [ ] |
branch naming convention
- for concepts
concepts_NAME-OF-THE-CONCEPT
- for questions
questions_NAME-OF-THE-QUESTION
- Complete implementations for all patterns.
- Create detailed explanations for each pattern with UML diagrams.
- Add real-world examples and use cases.
Feel free to open an issue or submit a pull request if you’d like to share feedback or additional resources.
Special thanks to the programming community for the abundance of learning resources and support. 🙏
Happy Learning! 🚀