Object Oriented Concepts: Abstraction

To drive a car you need not know the internal architecture of the car or understand How the engine work, Similarly to operate a remote control you need not know the internal circuitry, all you really do it navigate from one channel to another. Our day to day lives have become so simple as we…

Structural Design Pattern: Decorators

As per Wiki structural design patterns are design patterns that ease the design by identifying a simple way to realize relationships among entities. In this post we will discuss Decorators. Decorators, add additional features to object dynamically without using sub-classing Let’s consider an analogy here, our bakery needs some automation, everyday I spend few hours setting up appliances like pre-heating…

Creational Design Pattern: Prototype

Prototype Pattern is another creational pattern that clones objects as per the prototype. Basically it lets you make copies of existing object. Prototyping is important when we creating many similar objects, but this process can be expensive so the solution is ‘Cloning’ instead of making individual objects. Lets consider an analogy here, we are mass…

Creational Design Pattern – Builder Patterns

Another creations pattern that lets you construct complex objects is the builder pattern, it is the solution for Anti Pattern called Telescoping Constructor. This anti pattern occurs when developer attempts to create a complex object with excessive use of constructors, Builder pattern tries to solve this issue. Lets have an analogy here,  Our cake business…

Creational Design Patterns: Singleton

Singleton is needed when you want only one object to be instantiated from a class. Singleton ensures that class has only one instance, and that instance has global access, you can call it object oriented way of initializing global variable. An example for this would be, for our cake website we keep a cache that…