1. SOLID patterns and Other - sukhoi1/Patterns-UML GitHub Wiki

SOLID

  • Simple Responsibility;
  • "Open for extension": this means that the behavior of the module can be extended;
  • "Closed for modification": the binary executable version of the module assembly or Java .jar remains untouched.

Creational Pattern

  • Prototype
  • Singleton

Structural Patterns

  • Decorator
  • Composite

Behavioral Patterns

  • Strategy
  • Template Method
  • Command (MVC)

Other Patters

  • Entourage anti-pattern, which states that implementations should not live in the same assemblies as their interfaces.
  • Service locator anti-pattern - attribute constructor can not have non-primimive type parameters, so constructor injection is impossible;

Sinple Responsibility Patterns

  • Decorator pattern: each decorator class fulfills the contract of a type and also accepts one or more of those types as constructor parameters.
    • Branching decorator;
    • Lazy;
    • Logging;
    • Property;
    • Event;
    • Profiling;
    • Async;
  • The Composite pattern
    • Composite pattern is a specialization of the Decorator pattern;
    • List of components: compositeComponent class;
  • Strategy pattern
  • Template Method pattern (p. 211)

O-C Patterns

  • Template method