Skip to content
C++ Design Patterns
C++ CMake
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
abstract-factory code refactoring: fix memory leaks, code style, etc. Jan 31, 2019
adapter code refactoring: fix memory leaks, code style, etc. Jan 31, 2019
bridge
builder
chain-of-responsibility code refactoring: fix memory leaks, code style, etc. Jan 31, 2019
command code refactoring: fix memory leaks, code style, etc. Jan 31, 2019
composite
decorator code refactoring: fix memory leaks, code style, etc. Jan 31, 2019
facade code refactoring: fix memory leaks, code style, etc. Jan 31, 2019
factory-method Add CMakeLists.txt file and fix missing include<string> Apr 18, 2019
flyweight code refactoring: fix memory leaks, code style, etc. Jan 31, 2019
interpreter code refactoring: fix memory leaks, code style, etc. Jan 31, 2019
iterator code refactoring: fix memory leaks, code style, etc. Jan 31, 2019
mediator Add CMakeLists.txt file and fix missing include<string> Apr 18, 2019
memento
observer
prototype Add CMakeLists.txt file and fix missing include<string> Apr 18, 2019
proxy
singleton Deletes copy constructor and assignment operator in Singleton class, f… May 24, 2019
state code refactoring: fix memory leaks, code style, etc. Jan 31, 2019
strategy fix README file extension Jan 31, 2019
template-method fix README file extension Jan 31, 2019
visitor code refactoring: fix memory leaks, code style, etc. Jan 31, 2019
CMakeLists.txt
LICENSE
README.md Update README.md Jun 3, 2017

README.md

C++ Design Patterns

Software design patterns are general reusable solutions to problems which occur over and over again in object-oriented design enviroment. It is not a finished design that can be transformed into source code directly, but it is template how to solve the problem. We can classify them by purpose into creational (abstract the instantiation process), structure (how classes and objects are composed to form larger structures) and behavioral patterns (the assignment of responsibilities between objects).

Creational Patterns

Structural Patterns

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

Behavioral Patterns

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

Other Languages

In my repository you can find implementation of desgin patterns also in languages as

References

Design patterns in this repository are based on

You can’t perform that action at this time.