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.
- Host: GitHub
- URL: https://github.com/matinghanbari/csharp-design-patterns
- Owner: MatinGhanbari
- Created: 2024-12-31T15:17:58.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-12-31T15:52:16.000Z (over 1 year ago)
- Last Synced: 2024-12-31T16:25:24.591Z (over 1 year ago)
- Topics: csharp, design-patterns, dotnet
- Language: C#
- Homepage:
- Size: 156 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Code of conduct: docs/CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# CSharp Design Patterns

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/)