Design Pattern

Design patterns are specific solutions to common programming problems. They are established ways of organizing code to solve a particular problem, often involving multiple classes or components. Examples of design patterns include Singleton, Factory Method, and Observer.

While Programming Principles and design patterns overlap to some extent, they are not interchangeable. Programming principles tend to be more abstract and applicable to a wide range of problems, while design patterns are more concrete and specific to particular use cases. Both programming principles and design patterns can help improve the quality of software, but they serve different purposes.

There are several design patterns, and they are usually classified into three categories: creational patterns, structural patterns, and behavioral patterns. Here is a comprehensive list of some of the most commonly used design patterns:

Creational Patterns:

  1. ref.cs.archi.software-design.design-pattern.abstract-factory (Private)
  2. ref.cs.archi.software-design.design-pattern.builder (Private)
  3. ref.cs.archi.software-design.design-pattern.factory-method (Private)
  4. ref.cs.archi.software-design.design-pattern.prototype (Private)
  5. ref.cs.archi.software-design.design-pattern.singleton (Private)

Structural Patterns:

  1. ref.cs.archi.software-design.design-pattern.adapter (Private)
  2. ref.cs.archi.software-design.design-pattern.bridge (Private)
  3. ref.cs.archi.software-design.design-pattern.composite (Private)
  4. ref.cs.archi.software-design.design-pattern.decorator (Private)
  5. ref.cs.archi.software-design.design-pattern.facade (Private)
  6. ref.cs.archi.software-design.design-pattern.flyweight (Private)
  7. ref.cs.archi.software-design.design-pattern.proxy (Private)

Behavioral Patterns:

  1. ref.cs.archi.software-design.design-pattern.chain-of-responsibility (Private)
  2. ref.cs.archi.software-design.design-pattern.command (Private)
  3. ref.cs.archi.software-design.design-pattern.interpreter (Private)
  4. ref.cs.archi.software-design.design-pattern.iterator (Private)
  5. ref.cs.archi.software-design.design-pattern.mediator (Private)
  6. ref.cs.archi.software-design.design-pattern.memento (Private)
  7. ref.cs.archi.software-design.design-pattern.observer (Private)
  8. ref.cs.archi.software-design.design-pattern.state (Private)
  9. ref.cs.archi.software-design.design-pattern.strategy (Private)
  10. ref.cs.archi.software-design.design-pattern.template-method (Private)
  11. ref.cs.archi.software-design.design-pattern.visitor (Private)

Children
  1. Dependency Injection (DI)