Understanding Observer Pattern in C++ in depth

The Observer Pattern is a design pattern where changes in one object can be notified to other objects. This is important as with this, we can use objects that have dependency and can avoid regular checking for changes. It is widely used in situations like refreshing a webpage provided the database state has changed like a stock price page.

This is a companion discussion topic for the original entry at http://iq.opengenus.org/observer-pattern-cpp/