觀察者模式,也叫做發布-訂閱者模式,是屬于行為型模式中的一種,定義了對象之間的一對多依賴,這樣一來,當一個對象改變狀態時,它的所有依賴者都會收到通知并自動更新。
主題是真正擁有數據的人,觀察者是主題的依賴者,在數據變化時更新,這樣比起讓許多對象控制同一份數據來,可以得到更干凈的OO設計。
上述代碼中主要是定義的Subject、Observer以及DisplayElement三個接口。 關于觀察者,主題只知道觀察者實現了某個接口(也就是Observer接口)。主題不知道觀察者的具體類是誰,做了些什么,或其它的任何細節。而這正是觀察者模式的優點,為了交互對象之間的松耦合設計而努力,改變主題或者觀察者其中一方,并不會影響到另一方。就是由于兩者的松耦合特性。
文章只是作為自己的學習筆記,借鑒了網上的許多案例,如果覺得闊以的話,希望多交流,在此謝過…
新聞熱點
疑難解答