Skip to content

Latest commit

 

History

History
77 lines (53 loc) · 2.62 KB

README.md

File metadata and controls

77 lines (53 loc) · 2.62 KB

Standard Design Patterns

Welcome to the Standard Design Patterns repository! This project aims to provide clear, concise examples of the Gang of Four (GoF) design patterns implemented in c# programming languages. These examples will help you understand and apply these fundamental design principles in your own projects.

Table of Contents

  1. Introduction
  2. Design Pattern Categories
  3. Contributing
  4. License

Introduction

Design patterns are typical solutions to common problems in software design. Each pattern is like a blueprint that you can customize to solve a particular design problem in your code. This repository includes examples of the 23 classic design patterns introduced by the "Gang of Four" (Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides).

Design Pattern Categories

The design patterns are divided into three categories:

Creational Patterns

Creational patterns deal with object creation mechanisms, trying to create objects in a manner suitable to the situation. They make the creation process more adaptable and dynamic. Examples include:

  • Abstract Factory
  • Builder
  • Factory Method
  • Prototype
  • Singleton

Read more about Creational Patterns

Structural Patterns

Structural patterns explain how to assemble objects and classes into larger structures while keeping these structures flexible and efficient. Examples include:

  • Adapter
  • Bridge
  • Composite
  • Decorator
  • Facade
  • Flyweight
  • Proxy

Read more about Structural Patterns

Behavioral Patterns

Behavioral patterns are concerned with algorithms and the assignment of responsibilities between objects. They help in defining how objects interact and communicate with each other. Examples include:

  • Chain of Responsibility
  • Command
  • Interpreter
  • Iterator
  • Mediator
  • Memento
  • Observer
  • State
  • Strategy
  • Template Method
  • Visitor

Read more about Behavioral Patterns

Contributing

We welcome contributions from the community! If you have examples of design patterns in c# programming language or improvements to existing ones, please feel free to fork the repository and create a pull request. Make sure to follow the contribution guidelines.

License

This project is licensed under the MIT License - see the LICENSE file for details.