Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/d0pare/design-patterns

Head First Design Patterns Implementation in C# for .NET Core
https://github.com/d0pare/design-patterns

design-pattern dotnet

Last synced: 22 days ago
JSON representation

Head First Design Patterns Implementation in C# for .NET Core

Awesome Lists containing this project

README

        

#Design Patterns

## OO Patterns
* [Strategy](/src/strategy)
* [Observer](/src/observer)
* [Decorator](/src/decorator)
* [Factory Method](/src/factory)
* [Abstract Factory](/src/factory)
* [Singleton](/src/singleton)
* [Command](/src/command)
* [Adapter](/src/adapter)
* [Facade](/src/facade)
* [Template Method](/src/templatemethod)
* [Iterator](/src/iterator)
* [Composite](/src/composite)
* [State](/src/state)
* [Proxy](/src/proxy)

## OO Principles

* Encapsulates what varies.
* Favor composition over inheritance.
* Program to interfaces, not implementations.
* Strive for loosely coupled designs between objects that interact
* Classes should be open for extension but closed for modification.
* Depend on abstractions. Do not depend on concrete classes.
* Principle of Least Knowledge: talk only to your immediate friends.
* The Hollywood Principle: Don't call us, we'll call you.
* A class should have only one reason to change.

**You need [.NET 8](https://www.dot.net) to run these examples.**