1.Make classes for abstract Subject (not necessarily abstract), and abstract Observer (typically abstract or interface). Observer通常是abstract 或者 interface。
2.Put the abstract update() method into the abstract/interface Observer.
3.Give the Subject a list of Observers, implement addObserver() and notifyObservers().
我认为通常Subject里会implement addObserver(Observer obs) 和 notify(); 然后notify这个method会call Observer class里面的update();
在ConcreteSubject 会call notify()
还有一个比较重要的point就是,因为Observer通常是abstract或者interface,所以update()这个method会在ConcreteObserver里面被implemented