Skip to content

Latest commit

 

History

History
60 lines (43 loc) · 5.42 KB

README.md

File metadata and controls

60 lines (43 loc) · 5.42 KB

Design-patterns Language License

This repository contains a list of common Design patterns and their c++ implementation.

We will also briefly discuss the situations that calls for those designs as well as the benefits/cons you can expect from them.

Nothing new under the sun, this repository is highly inspirated by the book "Design patterns".

Design patterns divided into three categories as below :

Creational

Those designs are involved in the objects creation mechanisms.

They abstract the instantiation process in a way that is the most suitable for the situation and therefore increase the flexibility of the existing code.

Structural

Structural patterns are involved in classes and objects compositions to form larger structures.

They allow us to compose interfaces or implementations in order to obtain larger structures that are still flexible.

They are also very usefull to achieve new functionalities using objects compositions.

Behavioral

Behavioral patterns are concerned with algorithms and assignement of responsabilities between objects.

On class, they use inheritance to distribute behaviour between classes while they use object composition to perform tasks that no single object can carry by itself.