Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/erdemkosk/i-know-design-patterns

Questions and solutions related to design patterns and object oriented (Uncle Bob is watching u 👀)
https://github.com/erdemkosk/i-know-design-patterns

Last synced: 9 days ago
JSON representation

Questions and solutions related to design patterns and object oriented (Uncle Bob is watching u 👀)

Awesome Lists containing this project

README

        

# i-know-design-patterns

## Overview

`i-know-design-patterns` is a project dedicated to mastering Object-Oriented Programming (OOP) principles and design patterns. The main objective is to explore, solve, and document various questions and problems related to design patterns, ultimately proving a comprehensive understanding of these concepts.

## Project Goals

- **Understand Design Patterns**: Deep dive into commonly used design patterns and their applications in real-world scenarios.
- **Solve Design Pattern Challenges**: Address and solve practical problems using appropriate design patterns.
- **Demonstrate Proficiency**: Show a thorough grasp of design patterns by providing clear solutions and explanations.

## Design Patterns Covered

This project explores a range of design patterns, including but not limited to:

- **Creational Patterns**: Singleton, Factory Method, Abstract Factory, Builder, Prototype
- **Structural Patterns**: Adapter, Bridge, Composite, Decorator, Facade, Flyweight, Proxy
- **Behavioral Patterns**: Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method, Visitor
-
## Example Problems
1) [Printer Problem](https://github.com/erdemkosk/i-know-design-paterns/blob/master/src/problems/printer/README.md)

## How to Use

1. **Clone the Repository**:
```bash
git clone https://github.com/yourusername/i-know-design-patterns.git
```

2. **Navigate to the Project Directory**:
```bash
cd i-know-design-patterns
```

3. **Explore the Code**: Review the implementation of various design patterns in the `src` directory.

4. **Run Tests**: Execute the tests to see how different patterns solve specific problems.
```bash
npm test
```

## Contributing

Contributions are welcome! If you have any questions, suggestions, or improvements, please open an issue or submit a pull request.

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## Acknowledgments

- Special thanks to the community and resources that have provided insights and examples for design patterns.

---

Feel free to explore, learn, and contribute to the understanding of design patterns!