中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

什么是觀察者模式

發布時間:2020-07-31 10:39:47 來源:億速云 閱讀:136 作者:Leah 欄目:互聯網科技

這期內容當中小編將會給大家帶來有關什么是觀察者模式,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

觀察者模式是一種對象行為模式,該模式定義對象間的一種一對多的依賴關系,當一個對象的狀態發生改變時,所有依賴于它的對象都得到通知并被自動更新,從而提高了應用程序的可維護性和重用性。

觀察者模式是一種對象行為模式。它定義對象間的一種一對多的依賴關系,當一個對象的狀態發生改變時,所有依賴于它的對象都得到通知并被自動更新。在觀察者模式中,主題是通知的發布者,它發出通知時并不需要知道誰是它的觀察者,可以有任意數目的觀察者訂閱并接收通知。觀察者模式不僅被廣泛應用于軟件界面元素之間的交互,在業務對象之間的交互、權限管理等方面也有廣泛的應用。

觀察者模式(Observer)完美的將觀察者和被觀察的對象分離開。舉個例子,用戶界面可以作為一個觀察者,業務數據是被觀察者,用戶界面觀察業務數據的變化,發現數據變化后,就顯示在界面上。面向對象設計的一個原則是:系統中的每個類將重點放在某一個功能上,而不是其他方面。一個對象只做一件事情,并且將他做好。觀察者模式在模塊之間劃定了清晰的界限,提高了應用程序的可維護性和重用性。

觀察者設計模式定義了對象間的一種一對多的組合關系,以便一個對象的狀態發生變化時,所有依賴于它的對象都得到通知并自動刷新。

觀察者模式實現方式

觀察者模式有很多實現方式,從根本上說,該模式必須包含兩個角色:觀察者和被觀察對象。在剛才的例子中,業務數據是被觀察對象,用戶界面是觀察者。觀察者和被觀察者之間存在“觀察”的邏輯關聯,當被觀察者發生改變的時候,觀察者就會觀察到這樣的變化,并且做出相應的響應。如果在用戶界面、業務數據之間使用這樣的觀察過程,可以確保界面和數據之間劃清界限,假定應用程序的需求發生變化,需要修改界面的表現,只需要重新構建一個用戶界面,業務數據不需要發生變化。

觀察者模式使用場景

1、當一個抽象模型有兩個方面,其中一個方面依賴于另一方面。將這二者封裝在獨立的對象中以使它們可以各自獨立地改變和復用。

2、當對一個對象的改變需要同時改變其他對象,而不知道具體有多少對象需要被改變。

3、當一個對象必須通知其他對象,而它又不能假定其他對象是誰。換言之,不希望這些對象是緊密耦合的。

上述就是小編為大家分享的什么是觀察者模式了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

来凤县| 巫溪县| 西昌市| 杭锦后旗| 溧阳市| 长岭县| 将乐县| 赣州市| 神池县| 永州市| 木兰县| 昌都县| 汶上县| 延川县| 舞钢市| 油尖旺区| 赤壁市| 金秀| 达拉特旗| 中牟县| 丽江市| 德令哈市| 龙泉市| 海南省| 青川县| 达日县| 墨竹工卡县| 古浪县| 鄯善县| 攀枝花市| 馆陶县| 龙胜| 潞西市| 莲花县| 绥棱县| 尼木县| 大余县| 西和县| 梁山县| 台中市| 宁乡县|