Visitor Pattern

This pattern is used to create and perform new operations onto a set of objects without changing the object structure or classes. This pattern enables loose coupling and addition of new operations without changing the existing structure.

Read More

Template Method Pattern

This pattern is used to define the basic steps of an algorithm and allow the implementation of the individual steps to be changed. This pattern looks similar to the strategy design pattern. The main difference is the ability to change the parts of an algorithm rather than replacing an entire algorithm.

In Template pattern, an abstract class defined the template method and this method includes the steps which are implemented by the subclasses.

Read More

State Pattern

This pattern is used when there is one to many relationship between objects such as if one object is modified, its dependent objects are to be notified automatically.This pattern is used to alter the behavior of an object when it’s internal state changes. In this pattern, an object is created which represent various states and a context object whose behavior varies as it’s state object changes.

Read More