Skip to content
Cyril Chubenko (ViXP) edited this page Nov 12, 2017 · 12 revisions

This repository section is still in development...


Design Patterns

The software design patterns are the time-tested concepts of the laconic self-explanatory solutions to the common trivial problems in the architecture of programming products. Their correct application can help the software engineer to adhere to the S.O.L.I.D. principles and GRASP rules in order to get maintainable, extensible, modular and transparent system.

Behavioral patterns

Those kind of patterns are responsible for organizing the algorithms and techniques of objects interactions and their communications (often based on polymorphism and inheritance concepts):

Creational patterns

Those patterns are responsible for objects creation mechanisms (often based on delegation and polymorphism concepts), which are suitable for every concrete situation:

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

Structural patterns

Those patterns are responsible for organization the objects structures and relationships (often based on composition, delegation, abstraction, polymorphism and encapsulations concepts):

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

Clone this wiki locally