在我們的生活中那,如何操作上述標題的小問題,小編今天就在這裡給大家分享一點我的小經驗,來增加我們的體驗,希望可以給你們帶來幫助。1把解壓後的StarCraft資料夾放到手機的內建
2020-11-30 07:49:03
觀察者模式又稱發布訂閱模式,是物件行為模式
觀察者模式又稱發布訂閱模式,是物件行為模式;觀察者定義了一種一對多的依賴關係,讓多個觀察者物件同時監視著被觀察者的狀態,當被觀察者的狀態發生改變時,會通知所有的觀察者,並讓其自動更新自己。
observer(觀察者)?想知道咱們公司最新MM情報嗎?加入公司的MM情報郵件組就行了,tom負責蒐集情報,他發現的新情報不用一個一個 通知我們,直接發布給郵件組,我們作為訂閱者(觀察者)就可以及時收到情報啦 觀察者模式:觀察者模式定義了一種一隊多的依賴關係,讓多個觀察者物件同時監聽某一個主題物件。這個主題物件在狀態上發生變化時,會通知所有觀察者對 象,使他們能夠自動更新自己。
觀察者模式要同時存在觀察者和被觀察者雙方,觀察者可以是多個,在java中需要去繼承java.util.Observable類,先看被觀察者------------一個產品列表
import java.util.ArrayList;import java.util.List;import java.util.Observable;import java.util.Observer;
public class ProductList extends Observable{ private List<String> productList = null; private static ProductList instance; private ProductList(){ }
public static ProductList getInstance(){ if(instance == null){ instance = new ProductList(); instance.productList = new ArrayList<String>(); } return instance; } public void addProductListObservable(Observer observer){ this.addObserver(observer); } public void addProduct(String newProduct){ productList.add(newProduct); System.out.println("產品列表新增了產品"+newProduct); this.setChanged();//設定被觀察者物件發生改變 this.notifyObservers(newProduct);//通知觀察者並傳遞新產品 }}
public class JingDongObserver implements Observer{
@Override public void update(Observable o, Object product) { String newProduct = (String) product; System.out.println("傳送新產品"+newProduct+"同步到京東商城"); }
觀擦者模式易於擴充套件,責任也更加清晰,觀察者會根據被觀察物件的變化二作出相應的行為;
}public class TaoBaoObserver implements Observer{
@Override public void update(Observable o, Object product) { String newProduct = (String) product; System.out.println("傳送新產品"+newProduct+"同步到京東商城"); } }
public class TestObserver { public static void main(String[] args) { ProductList observable = ProductList.getInstance(); TaoBaoObserver taoBaoObserver = new TaoBaoObserver(); JingDongObserver jingDongObserver = new JingDongObserver(); observable.addObserver(taoBaoObserver); observable.addObserver(jingDongObserver); observable.addProduct("新增產品1"); }}
相關文章
在我們的生活中那,如何操作上述標題的小問題,小編今天就在這裡給大家分享一點我的小經驗,來增加我們的體驗,希望可以給你們帶來幫助。1把解壓後的StarCraft資料夾放到手機的內建
2020-11-30 07:49:03
星海爭霸2,發現成就裡有個揭露黑幕是黑的,該怎麼辦呢?1首先觸發隱藏關卡「揭露黑幕」是要在「媒體轟炸」這一任務裡用A強制攻擊摧毀右下角的平民建築。如果你已經打過媒體轟炸,
2020-11-30 06:46:19
此製作流程為詳細版,適合所有玩家或者作者。1v1地圖在星海爭霸2乃至所有遊戲中是控制平衡性最重要的因素之一,所以想做地圖,就要先會玩遊戲。在此我將為各位展示目前版本的地圖
2020-11-30 06:06:43
使用者有遇到過在玩星海爭霸2遊戲時會出現閃退現象,這是驅動問題或系統設定不當導致的,下面一起來看看有什麼解決方法吧。1首先,換一個顯示卡驅動,可通過官方網站下載軟體更新驅
2020-11-30 05:46:43
教你從青銅打到大師~1第1課.青銅組青銅組目標:把錢花光,瞭解基本的建築順序所謂學會4BG,白銀2800青銅組的P民們第一課是學會4BG的基本建築順序,然後把錢用來刷兵[專業詞彙解釋
2020-11-30 05:29:21
星海爭霸1是一款90年代末流行的即時戰略遊戲,居然到現在還有很多人玩,一是說明這個遊戲質量非常好,二是證明此類遊戲後繼無人,下面介紹一下星海爭霸1蟲族任務第七關攻略以供參考
2020-11-30 02:29:46