Real World Design Patterns
March 15, 2026 · View on GitHub

Real World Design Patterns
Explore real-world scenarios and best practices for design patterns in this comprehensive repository.
Elevate your software design skills with practical examples and insightful discussions. This workspace has been generated by Nx, Smart Monorepos · Fast CI. For each design pattern, there is folder based on TypeScript. If you are comming from another programming language world, don't worry. They are not complicated. Also, tests are included for each pattern. Also you can see bad practices to understand use cases.
How to Learn? 📖
Prerequisites
First, go over the prerequisites of design patterns—after that, it'll be much easier to move forward.
Patterns
You can open each directory, for instance:
$ cd app/strategy-pattern
There is a README file that you can review first.
Structure of Readme
Here is some steps in each README file:
- 💡 Use Case: a short description about the specific problem that we want to solve.
- ❌ Bad Practice: a typical solution that works but not in a proper way.
- ✅ Good Practice: implementing the specified design pattern to solve the problem in a proper way.
Diagram: There is also a diagram to represent the oveview of the design pattern to understand better. These are some examples:
Observer Pattern
Decorator Pattern
Chain of Responsibility Pattern
Strategy Pattern
Open /app folder to see all design patterns. ✅
How to Run
In the root directory, run:
$ npm install
To run the design pattern:
$ npm run -w PATTERN_NAME start
For instance PATTERN_NAME can be strategy-pattern
To run the bad practice:
$ npm run -w PATTERN_NAME start:bad
Run Tests
In order to run tests, run the following command. (add :watch to run it in watch mode):
$ npm run test
$ npm run test:cov # test coverage
$ npm run test:cov:open # open test coverage reports
Contributing
Contributing to a community project is always welcome. List of contributors:
Vahid Najafi | Elshad Humbatli | Sabeer Waqas |
|---|
Checklist
- Prerequisites
- 4 Pillars of OOP
- SOLID Principles
- KISS
- DRY
- YAGNI
- Cross-Cutting-Concerns
- Strategy Pattern
- Dependency Injection Pattern
- Chain of Responsibility Pattern
- Builder Pattern
- Decorator Pattern
- Template Method Pattern
- Observer Pattern
- Command Pattern
- Composite Pattern
- Adapter Pattern
- Simple Factory Method
- Factory Method Pattern
- Abstract Factory Pattern
- Proxy Pattern
- Bridge Pattern
- Prototype Pattern
- Memento Pattern
- Facade Pattern
- Singleton Pattern
- State Pattern
- Mediator Pattern
- Iterator Pattern
- Flyweight Pattern
- Visitor Pattern
Support
Any support is welcome. You can give the project a star, if you liked it ⭐
Related Projects
License
MIT



