觀察者模式是一種對象行為模式,該模式定義對象間的一種一對多的依賴關系,當一個對象的狀態發生改變時,所有依賴于它的對象都得到通知并被自動更新,從而提高了應用程序的可維護性和重用性。
觀察者模式是一種對象行為模式。它定義對象間的一種一對多的依賴關系,當一個對象的狀態發生改變時,所有依賴于它的對象都得到通知并被自動更新。在觀察者模式中,主題是通知的發布者,它發出通知時并不需要知道誰是它的觀察者,可以有任意數目的觀察者訂閱并接收通知。觀察者模式不僅被廣泛應用于軟件界面元素之間的交互,在業務對象之間的交互、權限管理等方面也有廣泛的應用。
觀察者模式(Observer)完美的將觀察者和被觀察的對象分離開。舉個例子,用戶界面可以作為一個觀察者,業務數據是被觀察者,用戶界面觀察業務數據的變化,發現數據變化后,就顯示在界面上。面向對象設計的一個原則是:系統中的每個類將重點放在某一個功能上,而不是其他方面。一個對象只做一件事情,并且將他做好。觀察者模式在模塊之間劃定了清晰的界限,提高了應用程序的可維護性和重用性。
觀察者設計模式定義了對象間的一種一對多的組合關系,以便一個對象的狀態發生變化時,所有依賴于它的對象都得到通知并自動刷新。
觀察者模式實現方式
觀察者模式有很多實現方式,從根本上說,該模式必須包含兩個角色:觀察者和被觀察對象。在剛才的例子中,業務數據是被觀察對象,用戶界面是觀察者。觀察者和被觀察者之間存在“觀察”的邏輯關聯,當被觀察者發生改變的時候,觀察者就會觀察到這樣的變化,并且做出相應的響應。如果在用戶界面、業務數據之間使用這樣的觀察過程,可以確保界面和數據之間劃清界限,假定應用程序的需求發生變化,需要修改界面的表現,只需要重新構建一個用戶界面,業務數據不需要發生變化。
觀察者模式使用場景
1、當一個抽象模型有兩個方面,其中一個方面依賴于另一方面。將這二者封裝在獨立的對象中以使它們可以各自獨立地改變和復用。
2、當對一個對象的改變需要同時改變其他對象,而不知道具體有多少對象需要被改變。
3、當一個對象必須通知其他對象,而它又不能假定其他對象是誰。換言之,不希望這些對象是緊密耦合的。
上述就是小編為大家分享的什么是觀察者模式了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注本站行業資訊頻道。
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...
2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...
:喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...
中港基金互認是什么意思?中港基金互認是指只要經過其中一個監管部門審核,就可以在另一個市場銷售。簡單來說,互認就是相互承認其合法性。中港基金互認,是指中國證監會和香港證監會開展的基金互認工作,將允許內地和香港基金符合一定條件的,按照法定程序銷售向對方市場的公眾投資者承認或許可。中港兩地基金互認帶來哪些好處影響?1、中港基金互認能夠增加兩地市場資金的流通。從目前情況來看,香港市場估值偏低,然而在中港基...
什么是基金交易賬戶?基金交易賬戶是銀行為投資者設立的用于在本行進行基金交易的帳戶。投資者通過銀行代銷網點辦理基金業務時,必須先開立基金交易帳戶。該帳戶用于記載投資者進行基金交易活動的情況和所持有的基金份額?;鸾灰踪~戶是投資人通過該銷售機構買賣基金份額的變動及結余情況的賬戶?;鸾灰踪~戶和TA賬戶的區別在哪?1、同一個人的身份證只能對應一個TA賬戶,但是基金賬戶可以對應多個;2、TA賬戶相關的是銀...
鹽業銀行成立于什么時間?鹽業銀行成立于1915年3月,總管理處設干北京。1913年梁士詒代理財政總長時,曾向當時國務院建議設立鹽務實業銀行。鹽業銀行成立時,由袁世凱的表弟張鎮芳任經理。清末時張曾任鹽運使,民國初曾任河南督軍、總統府顧問。原由鹽務署撥給官款,實行官商合辦,經收全部鹽稅收入;并“得代理國庫金的一部分”。第二年袁世凱病死,鹽務署不撥官款,改為商辦,成立時實收資本 ...