Design Pattern Exercise There are two branches in this repository: master is the version of Observer Pattern + Chain of Responsibility proxy is the version of Proxy Pattern + Chain of Responsibility