C++ - Design pattern - Memento

The Memento design pattern allows an object to retrieve last states of another object.

This is used for example in the undo mechanism.

So it's a very interesting pattern that doesn't use any interface.

But instead it uses an opaque pointer in order to store old states of the main object.

C++ - Design pattern - Strategy

The Strategy design pattern allows to change behaviour of a program depending on a context.

It means that a single class can manage many others without knowing that those classes even exist.

Interesting isn't it?

Let's see that in this Strategy design pattern tutorial.

C++ - Design pattern - Proxy

The Proxy design pattern is in charge of managing another class.

It's like a firewall that you cannot overstep.

There are several reasons to use a Proxy instead of directly another class.

C++ - Design pattern - Mediator

The Mediator design pattern allows to unlink objects from each other.

It's like a manager that centralizes every action performed by a component in order to dispatch these events to all other objects that need to know information.

It could be seen as a design pattern quite accessible in term of complexity.

C++ - Standard library - move

The move template function allows to change an object owner.

We're not going to dive in the heart of the move semantics because it's a quite complex subject.

Instead we're going to see a really easy example of how it works.

Let's get started.

C++ - Design pattern - Decorator

The Decorator design pattern allows an object to be decorated in different ways not by inheriting from another class but by adding features directly to this object.

It's main interest is to avoid multiplication of classes that would be almost the same as the main one.

C++ - Design pattern - Prototype

The Prototype design pattern is used in order to clone an object.

Main goal to prototype design pattern is to create new objects with default values.

This cloning operation is actually a copy of an object and can be made with a shallow or a deep copy.

C++ - Design pattern - Factory method

The Factory method design pattern is a really helpful one and a great dive into the world of design patterns.

In our example we are going to use an interface and some concrete classes.

If by reading this you are still interested in the concept, let's see the Factory method design pattern in this tutorial.

C++ - Design pattern - Singleton

This Singleton design pattern is certainly the most known and maybe the most easiest to understand.

Its goal is to guarantee that an object will be created only once through all the program.

C++ - Design pattern - Observer

The Observer design pattern allows an object (often called Subject) to inform other objects (Observers) that an event has occurred.

It's particularly useful when you have data from a Subject but you don't know how this data will be used by the Observers.


Subscribe to BadproG.com RSS