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

https://github.com/matinghanbari/csharp-design-patterns

This repository features famous design patterns along with sample implementations in C#, providing a practical resource for understanding and applying these patterns in software development.
https://github.com/matinghanbari/csharp-design-patterns

csharp design-patterns dotnet

Last synced: 10 months ago
JSON representation

This repository features famous design patterns along with sample implementations in C#, providing a practical resource for understanding and applying these patterns in software development.

Awesome Lists containing this project

README

          

# CSharp Design Patterns



![banner](/assets/images/banner.jpg)
photo by [zealousys.com](https://www.zealousys.com/blog/c-sharp-design-patterns/)

---

The repository aims to enhance the software development process by promoting code reusability, maintainability, and scalability through the effective use of design patterns. It serves as both an educational tool for beginners and a reference guide for experienced developers seeking to refine their design skills in C#.

## The Catalog of Design Patterns
1. [Creational patterns](#creational-patterns)
2. [Structural patterns](#Structural-patterns)
3. [Behavioral patterns](#Behavioral-patterns)

### Creational patterns
These patterns provide various object creation mechanisms, which increase flexibility and reuse of existing code.

1. [Factory Method](https://refactoring.guru/design-patterns/factory-method/csharp/example)
2. [Abstract Factory](https://refactoring.guru/design-patterns/abstract-factory/csharp/example)
3. [Builder Pattern](https://refactoring.guru/design-patterns/builder/csharp/example)
4. [Prototype](https://refactoring.guru/design-patterns/prototype/csharp/example)
5. [Singleton](https://refactoring.guru/design-patterns/singleton/csharp/example)

### Structural patterns
These patterns explain how to assemble objects and classes into larger structures while keeping these structures flexible and efficient.

1. [Adapter](https://refactoring.guru/design-patterns/adapter/csharp/example)
2. [Bridge](https://refactoring.guru/design-patterns/bridge/csharp/example)
3. [Composite](https://refactoring.guru/design-patterns/composite/csharp/example)
4. [Decorator](https://refactoring.guru/design-patterns/decorator/csharp/example)
5. [facade](https://refactoring.guru/design-patterns/facade/csharp/example)
6. [flyweight](https://refactoring.guru/design-patterns/flyweight/csharp/example)
7. [Proxy](https://refactoring.guru/design-patterns/proxy/csharp/example)

### Behavioral patterns
These patterns are concerned with algorithms and the assignment of responsibilities between objects.

1. [Chain of Responsibility](https://refactoring.guru/design-patterns/chain-of-responsibility/csharp/example)
2. [Command](https://refactoring.guru/design-patterns/command/csharp/example)
3. [Iterator](https://refactoring.guru/design-patterns/iterator/csharp/example)
4. [Mediator](https://refactoring.guru/design-patterns/mediator/csharp/example)
5. [Memento](https://refactoring.guru/design-patterns/memento/csharp/example)
6. [Observer](https://refactoring.guru/design-patterns/observer/csharp/example)
7. [State](https://refactoring.guru/design-patterns/state/csharp/example)
8. [Strategy](https://refactoring.guru/design-patterns/strategy/csharp/example)
9. [Template Method](https://refactoring.guru/design-patterns/template-method/csharp/example)
10. [Visitor](https://refactoring.guru/design-patterns/visitor/csharp/example)

## Refrence
- [Refactoring.Guru](https://refactoring.guru/)