/Software-Design-Principles-And-Patterns-in-Golang

SOLID Design Principles: Single Responsibility Principle, Open-Closed Principle, Liskov Substitution Principle, Interface Segregation Principle and Dependency Inversion Principle Creational Design Patterns: Builder, Factories (Factory Method and Abstract Factory), Prototype and Singleton Structrural Design Patterns: Adapter, Bridge, Composite, Decorator, Façade, Flyweight and Proxy Behavioral Design Patterns: Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method and Visitor

Primary LanguageGo

Software-Design-Principles-And-Patterns-in-Golang

SOLID Design Principles:

  1. Single Responsibility Principle (SRP).
  2. Open-Closed Principle (OCP).
  3. Liskov Substitution Principle (LSP).
  4. Interface Segregation Principle (ISP).
  5. Dependency Inversion Principle (DIP) .

Creational Design Patterns:

  1. Builder.
  2. Factories (Factory Method and Abstract Factory).
  3. Prototype.
  4. Singleton.

Structural Design Patterns:

  1. Adapter.
  2. Bridge.
  3. Composite.
  4. Decorator.
  5. Façade.
  6. Flyweight.
  7. Proxy

Behavioral Design Patterns:

  1. Chain of Responsibility.
  2. Command.
  3. Interpreter.
  4. Iterator.
  5. Mediator.
  6. Memento.
  7. Observer.
  8. State.
  9. Strategy.
  10. Template Method.
  11. Visitor