設計模式之觀察者模式

引言

       鬆耦合設計是指對象之間較爲獨立,可以交互,但是不清楚彼此的細節,與之等效的說法是高內聚低耦合,對象與對象之間的互相依賴性很低,這樣可以使構建的OO系統更有彈性,因此使系統更能適應變化。

觀察者模式

        觀察者模式是鬆耦合設計的一個具體表現形式,它定義了對象之間的一對多依賴,一指的是被觀察者,多指的是觀察者,這樣當被觀察的一個對象改變狀態時,它所有的依賴者都會受到通知並自動更新。MVC是觀察者模式的典型代表。

具體實現

        此處我是用C++代碼實現了Head First Design Patterns一書中的氣象站,其UML圖如下所示,

 

C++代碼具體實現可參考以下github,開發環境爲 Win10 & VS2015。

https://github.com/yazhouzheng/DesignPattens/tree/master/ObserverPattern/ObserverPattern

模式所用設計原則

        爲交互對象之間的鬆耦合設計而努力

總結

        本文簡要介紹了觀察者模式以及其中使用到的低耦合原則,並使用C++重新實現了書中氣象站的觀察者模式實現。C++雖然是一種OO語言,但是其並沒有內置的觀察者模式嗎,因此我這裏沒有實現書中的內置實現以及使用pull的方式傳送數據。

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章