SOLID-as-a-Rock-Dependency-Inversion-Principle-in-C-Vishal-Chovatiya

Dependency Inversion Principle in C++ | SOLID as a Rock

Reading Time: 4 minutes Dependency Inversion Principle in C++ is the fifth & last design principle of a series SOLID as a Rock design principles. The SOLID design principles focus on developing software that is easy to maintainable, reusable & extendable. In this article, […]

Factory-Design-Pattern-in-Modern-C-vishal-chovatiya

Factory Design Pattern in Modern C++

Reading Time: 7 minutes In software engineering, Creational Design Patterns deal with object creation mechanisms, i.e. try to create objects in a manner suitable to the situation. In addition to this basic or ordinary form of object creation could result in design problems or […]

Builder-Design-Pattern-in-Modern-C-vishal-chovatiya

Builder Design Pattern in Modern C++

Reading Time: 6 minutes In software engineering, Creational Design Patterns deal with object creation mechanisms, trying to create objects in a manner suitable to the situation. The basic or ordinary form of object creation could result in design problems or added complexity to the […]

Prototype-Design-Pattern-in-Modern-C-vishal-chovatiya

Prototype Design Pattern in Modern C++

Reading Time: 7 minutes Prototype Design Pattern is a Creational Design Pattern that helps in the prototyping(creating/copying cheaply) of an object using separate methods or polymorphic classes. You can consider the prototype as a template of an object before the actual object is constructed. […]

Singleton Design Pattern in Modern C++ vishal chovatiya

Singleton Design Pattern in Modern C++

Reading Time: 6 minutes In software engineering, Creational Design Patterns deal with object creation mechanisms, i.e. try to create objects in a manner suitable to the situation. The basic or ordinary form of object creation could result in design problems or added complexity to […]

Adapter Design Pattern in Modern C++ vishal chovatiya

Adapter Design Pattern in Modern C++

Reading Time: 5 minutes In software engineering, Structural Design Patterns deal with the relationship between object & classes i.e. how object & classes interact or build a relationship in a manner suitable to the situation. The structural design patterns simplify the structure by identifying […]

Bridge Design Pattern in Modern C++ vishal chovatiya

Bridge Design Pattern in Modern C++

Reading Time: 6 minutes Bridge Design Pattern is a Structural Design Pattern used to decouple a class into two parts – abstraction and it’s implementation – so that both can be developed independently. This promotes the loose coupling between class abstraction & its implementation. […]

Composite Design Pattern in Modern C++ vishal chovatiya 1

Composite Design Pattern in Modern C++

Reading Time: 6 minutes GoF describes the Composite Design Pattern as “Compose objects into a tree structure to represent part-whole hierarchies. Composite lets the client treat individual objects and compositions of objects uniformly”. This seems over-complicated to me. So, I would not go into […]

Decorator Design Pattern in Modern C++ vishal chovatiya

Decorator Design Pattern in Modern C++

Reading Time: 6 minutes In software engineering, Structural Design Patterns deal with the relationship between object & classes i.e. how object & classes interact or build a relationship in a manner suitable to the situation. The Structural Design Patterns simplify the structure by identifying […]

Facade Design Pattern in Modern Cpp vishal chovatiya

Facade Design Pattern in Modern C++

Reading Time: 3 minutes Facade Design Pattern is a Structural Design Pattern used to provide a unified interface to a complex system. It is same as Facade in building architecture, a Facade is an object that serves as a front-facing interface masking a more […]

Flyweight Design Pattern in Modern C++ vishal chovatiya

Flyweight Design Pattern in Modern C++

Reading Time: 4 minutes Flyweight Design Pattern is a Structural Design Pattern that concerned with space optimization. It is a technique to minimizes memory footprint by sharing or avoiding redundancy as much as possible with other similar objects. Flyweight Design Pattern in Modern C++ […]

Proxy Design Pattern in Modern C++ vishal chovatiya

Proxy Design Pattern in Modern C++

Reading Time: 5 minutes In software engineering, Structural Design Patterns deal with the relationship between objects i.e. how objects/classes interact or build a relationship in a manner suitable to the situation. The Structural Design Patterns simplify the structure by identifying relationships. In this article […]

Chain of Responsibility Design Pattern in Modern C++ vishal chovatiya

Chain of Responsibility Design Pattern in Modern C++

Reading Time: 5 minutes Chain of Responsibility is a Behavioural Design Pattern that provides facility to propagate event/request/command/query to the chain of loosely coupled objects. Chain of Responsibility Design Pattern in Modern C++ lets you pass requests along a chain of handlers & upon […]

Command Design Pattern in Modern C++ vishal chovatiya

Command Design Pattern in Modern C++

Reading Time: 5 minutes In software engineering, Behavioural Design Patterns deal with the assignment of responsibilities between objects which in turn make the interaction between the objects easy & loosely coupled. In this article of the Behavioural Design Patterns, we’re going to take a […]

Iterator Design Pattern in Modern C++ vishal chovatiya

Iterator Design Pattern in Modern C++

Reading Time: 6 minutes Iterator Design Pattern in Modern C++ is a heavily used pattern i.e. provides facility to traverse data containers sophistically. For simplicity, you can consider a pointer moving across an array, but the real magic comes when you get to the […]