Ecosyste.ms: Awesome

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

https://github.com/abishekaditya/DesignPatterns

Project : Design Patterns Examples in C#
https://github.com/abishekaditya/DesignPatterns

24projects c-sharp csharp design-pattern design-patterns designpatterns software-development

Last synced: about 1 month ago
JSON representation

Project : Design Patterns Examples in C#

Lists

README

        

# Design Patterns
Design patterns are solutions to recurring problems; guidelines on how to tackle certain problems.
I have included implementations of some design patterns in C# to help beginners like me get their feet wet.
There are better alternatives available for some of them in the .NET Framework, so this is by no means a comprehensive tutorial.

Any comments and suggestions are welcome. If you want to add a new design pattern implementation, just follow the naming convention, fork my repo and submit a pull request. Same goes for any improvements and modifications.

This was created as a C# alternative to Java while reading https://www.oreilly.com/library/view/head-first-design/0596007124/ <- take a look at it if anything confuses you.

## Types of Design Patterns
---------------------------
There are three kinds of Design Patterns:

* Creational
* Structural
* Behavioral

## List of Design Pattern Implementations
-----------------------------------------

* [Adapter](/AdapterPattern)
* [Bridge](/BridgePattern)
* [Builder](/BuilderPattern)
* [ChainOfResponsibility](/ChainOfResponsibilityPattern)
* [Command](/CommandPattern)
* [Composite](/CompositePattern)
* [Decorator](/DecoratorPattern)
* [Facade](/FacadePattern)
* [Factory](/FactoryPattern)
* [Flyweight](/FlyweightPattern)
* [Iterator](/IteratorPattern)
* [Mediator](/MediatorPattern)
* [Observer](/ObserverPattern)
* [Prototype](/PrototypePattern)
* [Proxy](/ProxyPattern)
* [Singleton](/SingletonPattern)
* [SingletonPattern.Tests](/SingletonPattern.Tests)
* [State](/StatePattern)
* [Strategy](/StrategyPattern)
* [Template](/TemplatePattern)
* [Visitor](/VisitorPattern)