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

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.

Awesome Lists containing this project

README

        

[![.NET](https://github.com/ibrahimatay/Design-Patterns/actions/workflows/dotnet.yml/badge.svg)](https://github.com/ibrahimatay/Design-Patterns/actions/workflows/dotnet.yml)
# Design Patterns For Humans
Examples of design patterns in C# are presented in a way that is easy for humans to understand and implement. The purpose of these examples is to provide a practical and intuitive guide to the use of design patterns in Java, helping developers improve their skills and create more effective and maintainable software.

![image](/docs/images/desing-pattern-relationships.jpeg)

****Note***: Continuous improvements and bug fixes are made within the repository to produce better solutions.*

## ***Creational***
- [Factory Method](/DesignPatterns.FactoryMethod/Program.cs)
- [Abstract Factory](/DesignPatterns.AbstractFactory/Program.cs)
- [Builder](/DesignPatterns.Builder/Program.cs)
- [Prototype](/DesignPatterns.Prototype/Program.cs)
- Singleton
- [Eager Instantiation](/DesignPatterns.SingletonEagerInstantiation/Program.cs)
- [Lazy Instantiation](/DesignPatterns.SingletonLazyInitialization/Program.cs)
- [Double-Checked Locking with Singleton](/DesignPatterns.DoubleCheckedLockingwithSingleton/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)
- [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