Skip to content

This is a project with some basic implementations of design patterns in .net. It is meant to be a guide to the reasoning and insight to the popular design patterns

Notifications You must be signed in to change notification settings

MainaGeorge/DesignPatterns

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 

Repository files navigation

DesignPatterns

This is a project with some basic implementations of design patterns in .net. It is meant to be a guide to the reasoning and insight to the popular design patterns

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. They define a common language that helps your team communicate more efficiently.

All design patterns can be categorized by their intent, or purpose into three main groups of patterns:

  • Creational patterns provide object creation mechanisms that increase flexibility and reuse of existing code.
  • Structural patterns explain how to assemble objects and classes into larger structures, while keeping these structures flexible and efficient.
  • Behavioral patterns take care of effective communication and the assignment of responsibilities between objects.

Structural Design Patterns

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

Behavioural Design Patterns

  • Chain of responsibility
  • Command
  • Iterator
  • Mediator
  • Memento
  • Null Object
  • Observer
  • State
  • Strategy
  • Template method
  • Visitor

Creational Desing Patterns

  • Abstract Factory
  • Builder
  • Factory Method
  • Object Pool
  • Prototype
  • Singleton