Skip to content

Junzhuodu/design-patterns

Repository files navigation

C++ Design Patterns

C++ Implementation for 23 Design Patterns

Creational Patterns

Structural Patterns

  • Adapter, interface to an object image
  • Bridge, implementation of an object image
  • Composite, structure and composition of an object image
  • Decorator, responsibilities of an object without subclassing image
  • Façade, interface to a subsystem image
  • Flyweight, storage costs of objects image
  • Proxy, how an object is accessed (its location) image

Behavioral Patterns

  • Chain of Responsibility, object that can fulfill a request image
  • Command, when and how a request is fulfilled image
  • Interpreter, grammar and interpretation of a language image
  • Iterator, how an aggregate's elements are accessed image
  • Mediator, how and which objects interact with each other image
  • Memento, what private information is stored outside an object, and when image
  • Observer, how the dependent objects stay up to date image
  • State, states of an object image
  • Strategy, an algorithm image
  • Template Method, steps of an algorithm image
  • Visitor, operations that can be applied to objects without changing their classes image

References

Design patterns in this repository are based on