觀察者模式,即需要有觀察者主題subject,還有觀察者observe,以及通知者notify.我們可以動態的新增觀察者,以及批量通知觀察者。這樣可以達到觀察和主題之間的解耦。在springboot原始碼裡面可以明顯看到觀察者模式的運用了,有興趣可以了解一下。觀察者模式**如下。
/**
* 抽象主題
*/public
abstract
class
subject
/**
* 具體的主題實現
*/public
class
notify
extends
subject
@override
public
void
removeobserve
(observe observe)
@override
public
void
notifyobserve()
}}}
/**
* 觀察者抽象類
*/public
abstract
class
observe
/** * 具體做一些事情的抽象方法
*/public
abstract
void
dosomething()
;}
/**
* 觀察者a
*/public
class
observea
extends
observe
@override
public
void
dosomething()
}
/**
* 觀察者b
*/public
class
observeb
extends
observe
@override
public
void
dosomething()
}
public
class
obeservetest
}
我是a.
..做a事
我是b.
..做b事
python 設計模式 觀察者 觀察者設計模式
在觀察者設計模式這種模式中,物件被表示為等待事件觸發的觀察者。一旦發生指定的事件,觀察者就會關注該主體。當事件發生時,主體告訴觀察者它已經發生。以下uml圖表示觀察者模式 如何實現觀察者模式?現在讓我們來看看如何實現觀察者模式。參考以下實現 import threading import time ...
設計模式C 實現(15) 觀察者模式
軟體領域中的設計模式為開發人員提供了一種使用專家設計經驗的有效途徑。設計模式中運用了物件導向程式設計語言的重要特性 封裝 繼承 多型,真正領悟設計模式的精髓是可能乙個漫長的過程,需要大量實踐經驗的積累。最近看設計模式的書,對於每個模式,用c 寫了個小例子,加深一下理解。主要參考 大話設計模式 和 設...
設計模式C 實現(15) 觀察者模式
分類 設計模式 設計模式 c blog string class iterator 軟體領域中的設計模式為開發人員提供了一種使用專家設計經驗的有效途徑。設計模式中運用了物件導向程式設計語言的重要特性 封裝 繼承 多型,真正領悟設計模式的精髓是可能乙個漫長的過程,需要大量實踐經驗的積累。最近看設計模式...