设计模式---观察者模式介绍与理解
設計模式---觀察者模式介紹與理解:
觀察者模式原理:類似于定牛奶業務
1. 奶站,subject:登記注冊,移除,通知(register,remove,notify)
2. 用戶,observer:接收輸入
觀察者模式:對象之間多對一依賴的一種設計模式,被依賴的對象稱為subject,依賴的對象為observer,subject發生變化時通知observer對象。
觀察者模式實例演示:
Java內置觀察者:
Observable(類而非接口):已經實現了:注冊移除通知。不能多重繼承。(在通知之前要setChanged())
?
?
Observer(接口)這樣才能多重實現
觀察者模式關鍵點:
1. 松耦合:對象之間的關系應該是松耦合。對象之間交互的過程屬于松耦合狀態,可以相互交互,但是交互的過程中,相互之間不存在依賴關系。
他們之間是異步的,比如說:不需要對方傳遞過來的對象具體是怎么實現的。(觀察者模式)Observer和Subject之間互不影響,其中一個崩潰不影響另外一個的正常工作。
2. 高內聚:對象內部之間的關系應該是高內聚的。
3. 隔離影響:發生錯誤或者的異常的時候降低影響。
?
從觀察到通知的轉變:
Observer本來的意思叫做觀察者,但實際上Observer角色并不是主動的去觀察,而是被動的接收來自subject角色的通知。因此,Observer模式也被稱為publish-subscribe模式(發布-訂閱模式)
Demo請參考:https://github.com/linhj-james/DesignPattern
?
轉載請注明出處!
?
?
?
?
?
?
?
?
總結
以上是生活随笔為你收集整理的设计模式---观察者模式介绍与理解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Log4j文件配置教程大全
- 下一篇: 一篇博客读懂设计模式之-----策略模式