簡單理解觀察者模式 Observer

2021-09-01 19:49:20 字數 1147 閱讀 9516

簡單理解觀察者模式

/** * 主題(被觀察者資訊)

*/public inte***ce subject

/** * 觀察者介面

*/public inte***ce observer

/** * 不同的顯示

*/public inte***ce displayelement

/** * 主題物件類

*/public class weatherdata implements subject

@override

public boolean registerobserver(observer observer)

@override

public boolean removeobserver(observer observer)

return observers.remove(observer);

} @override

public int notifyobservers()

int result = 0;

for (int i = 0,size=observers.size(); i < size; i++)

return result; }

/*** 主題發生變化,通知觀察者

*/public void measurementschanged()

/*** 改變主題

*/public void setmeasurements(double temperature, double humidity, double pressure)

}/**

* 觀察者物件類

*/public class currentconditionsdisplay implements observer,displayelement

@override

public boolean update(double temp, double humidity, double pressure)

@override

public void display()

}/**

* 資料來源

*/public class weatherstation

}

設計模式總結篇系列 觀察者模式(Observer)

觀察者模式中通常有兩個基本的概念主題 觀察者和被觀察者。當被觀察者狀態發生改變時,需要通知相應的觀察者,當然,每個被觀察者所對應的觀察者可能不知乙個,他們之間是1 n的關係。用專業一點的術語對觀察者模式的描述為 當乙個物件變化時,其它依賴該物件的物件都會收到通知,並且隨著變化。觀察者模式的一般實現方...

理解設計模式(觀察者)

觀察者模式,保證主題和若干觀察者之間的一致性。有時又被稱為發布 訂閱subscribe 模式 模型 檢視view 模式 源 收聽者listener 模式或從屬者模式 此種模式通常被用來實現事件處理系統 乙個系統,由乙個物件和若干協作物件組成,同時要避免這些物件之間相互耦合 一般由介面或抽象類實現 註...

觀察者模式簡單總結

觀察者模式就是兩個類的使用 public inte ce observer public class observable就像我們平時寫監聽一樣,不過這次是把listener加入集合中使用。public class aa public void notifyobservers public inte...