Java設計模式之觀察者模式

2021-07-17 01:17:32 字數 1447 閱讀 6840

觀察者模式是乙個使用率非常高的模式,觀察者(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...