Welcome to the Standard Design Patterns repository! This project aims to provide clear, concise examples of the Gang of Four (GoF) design patterns implemented in c# programming languages. These examples will help you understand and apply these fundamental design principles in your own projects.
Design patterns are typical solutions to common problems in software design. Each pattern is like a blueprint that you can customize to solve a particular design problem in your code. This repository includes examples of the 23 classic design patterns introduced by the "Gang of Four" (Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides).
The design patterns are divided into three categories:
Creational patterns deal with object creation mechanisms, trying to create objects in a manner suitable to the situation. They make the creation process more adaptable and dynamic. Examples include:
- Abstract Factory
- Builder
- Factory Method
- Prototype
- Singleton
Read more about Creational Patterns
Structural patterns explain how to assemble objects and classes into larger structures while keeping these structures flexible and efficient. Examples include:
- Adapter
- Bridge
- Composite
- Decorator
- Facade
- Flyweight
- Proxy
Read more about Structural Patterns
Behavioral patterns are concerned with algorithms and the assignment of responsibilities between objects. They help in defining how objects interact and communicate with each other. Examples include:
- Chain of Responsibility
- Command
- Interpreter
- Iterator
- Mediator
- Memento
- Observer
- State
- Strategy
- Template Method
- Visitor
Read more about Behavioral Patterns
We welcome contributions from the community! If you have examples of design patterns in c# programming language or improvements to existing ones, please feel free to fork the repository and create a pull request. Make sure to follow the contribution guidelines.
This project is licensed under the MIT License - see the LICENSE file for details.