https://github.com/ibrahimatay/design-patterns
Design patterns examples in C#, presented in a way that is easy for humans to understand and implement.
https://github.com/ibrahimatay/design-patterns
csharp-design-patterns design-patterns gang-of-four-design-patterns java-design-patterns
Last synced: 7 months ago
JSON representation
Design patterns examples in C#, presented in a way that is easy for humans to understand and implement.
- Host: GitHub
- URL: https://github.com/ibrahimatay/design-patterns
- Owner: ibrahimatay
- Created: 2022-08-14T13:58:22.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-11-18T11:50:26.000Z (about 1 year ago)
- Last Synced: 2024-11-18T12:59:19.732Z (about 1 year ago)
- Topics: csharp-design-patterns, design-patterns, gang-of-four-design-patterns, java-design-patterns
- Language: C#
- Homepage:
- Size: 364 KB
- Stars: 9
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Design Patterns For Humans
[](https://github.com/ibrahimatay/Design-Patterns/actions/workflows/dotnet.yml)
Examples of design patterns in C# are presented in a way that is easy for humans to understand and implement. These examples provide a practical and intuitive guide to the use of design patterns in C#, helping developers improve their skills and create more effective and maintainable software.
****Note***: Continuous improvements and bug fixes are made within the repository to produce better solutions.*

## Application Patterns
- [CQRS (Command Query Responsibility Segregation)](/DesignPatterns.CQRS/Program.cs)
- [VIPER (View, Interactor, Presenter, Entity, Router)](/DesignPatterns.VIPER/Program.cs)
- [MVC (Model, View, Controller)](/DesignPatterns.MVC/Program.cs)
- [Saga - Orchestration](/DesignPatterns.SAGAOrchestration/Program.cs)
- [Saga - Choreography](/DesignPatterns.SAGAChoreography/Program.cs)
- [Bulkhead](/DesignPatterns.Bulkhead/Program.cs)
- [Circuit Breaker](/DesignPatterns.CircuitBreaker/Program.cs)
- [Transactional Outbox](/DesignPatterns.Outbox/Program.cs)
## ***Creational***
- [Factory Method](/DesignPatterns.FactoryMethod/Program.cs)
- [Abstract Factory](/DesignPatterns.AbstractFactory/Program.cs)
- [Builder](/DesignPatterns.Builder/Program.cs)
- [Prototype](/DesignPatterns.Prototype/Program.cs)
- Singleton
- [Double Check Locking](/DesignPatterns.SingletonDoubleCheckLocking/Program.cs)
- [Fully Lazy Instantiation](/DesignPatterns.SingletonFullyLazy/Program.cs)
- [Lazy Instantiation](/DesignPatterns.SingletonLazyInitialization/Program.cs)
- [Not Thread-Safe Singleton](/DesignPatterns.SingletonNotThreadSafe/Program.cs)
- [Static Constructor Singleton](/DesignPatterns.SingletonStaticConstructor/Program.cs)
## ***Structural***
- [Adapter](/DesignPatterns.Adapter/Program.cs)
- [Proxy](/DesignPatterns.Proxy/Program.cs)
- [Facade](/DesignPatterns.Facade/Program.cs)
- [Composite](/DesignPatterns.Composite/Program.cs)
- [Bridge](/DesignPatterns.Bridge/Program.cs)
- [Flyweight](/DesignPatterns.Flyweight/Program.cs)
- [Decorator](/DesignPatterns.Decorator/Program.cs)
## ***Behavioral***
- [Command](/DesignPatterns.Command/Program.cs)
- [Iterator](/DesignPatterns.Iterator/Program.cs)
- [Memento](/DesignPatterns.Memento/Program.cs)
- [Observer](/DesignPatterns.Observer/Program.cs)
- [Strategy](/DesignPatterns.Strategy/Program.cs)
- [Template Method](/DesignPatterns.TemplateMethod/Program.cs)
- [Visitor](/DesignPatterns.Visitor/Program.cs)
- [Chain of Responsibility](/DesignPatterns.ChainOfResponsibility/Program.cs)
- [Pipeline](/DesignPatterns.Pipeline/Program.cs)
- [State](/DesignPatterns.State/Program.cs)
- [Mediator](/DesignPatterns.Mediator/Program.cs)
## References
Design patterns in this repository are based on
* [Design Patterns by The "Gang of Four"]
* [Head First: Design Patterns]
* [Wikipedia]
* [Other Documents]
[Design Patterns by The "Gang of Four"]: https://en.wikipedia.org/wiki/Design_Patterns
[Head First: Design Patterns]: http://www.headfirstlabs.com/books/hfdp/
[Wikipedia]: https://en.wikipedia.org/wiki/Software_design_pattern
[Other Documents]: docs