觀察者模式是乙個使用率非常高的模式,觀察者(observer)模式又名發布-訂閱(publish/subscribe)模式,
這個模式有乙個非常重要的作用就是解耦,將被觀察者和觀察者之間的依賴降到最小.
像我們進場使用的adapter
就使用了觀察者模式,當資料集發生變化的時候,通知adapter
更新.
定義物件間的一種一對多的依賴關係.使得每當乙個物件改變狀態,則所有的依賴於它的物件都會得到通知並自動更新.
其中的角色有
public
inte***ce
isubject
public
inte***ce
iobserver
定義具體subject
角色
public
class
concretesubject
implements
isubject
@override
public
void
unregisterobserver(iobserver observer)
@override
public
void
unregisterobserver()
@override
public
void
notify(object o)
} @override
public
void
notify(iobserver observer, object o)
}
public
class
concreteobserver1
implements
iobserver
}
isubject subject = new concretesubject();
iobserver observer1 = new concreteobserver1();
iobserver observer2 = new concreteobserver2();
//regist observer
subject.registerobserver(observer1);
subject.registerobserver(observer2);
//update observer
subject.notify("notify all");
designpattern Java設計模式之觀察者模式
觀察者模式定義了一些列物件之間的一對多關係。當乙個物件改變狀態,其他依賴者都會收到通知。觀察者模式提供了一種物件設計,讓主題和觀察者之間松耦合。uml圖 觀察者介面 觀察者介面 public inte ce observer 觀察者a 觀察者a public class aimplements ob...
JAVA設計模式之觀察者模式
觀察者模式定義了一種一對多的依賴關係 簡單的解釋就是多個觀察者物件,一同觀察某個主題物件,並隨著主題物件的更新,而各自進行相應的更新 舉個例子,動物園裡飼養員是乙個主題物件,而這個飼養員所餵養的動物,就是乙個個的觀察者物件 在這個例子中的飼養員比較奇葩,他對它所餵養的動物,統一喂同一種食物,雖然動物...
java設計模式之觀察者模式
uml設計 定義 定義物件間一種一對多的依賴關係,使得當每乙個物件改變狀態,則所有依賴於它的物件都會得到通知並自動更新。示例 定義乙個主題 被觀察者 public inte ce subject 定義乙個觀察者 public inte ce observer 定義具體的主題實現類 public cl...