freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

面向?qū)ο蟪绦蛟O計設計模式論文鄧鵬輝(編輯修改稿)

2025-07-02 20:59 本頁面
 

【文章內(nèi)容簡介】 因此它們可以屬于不同的抽象化層次。如果被觀察者和觀察者都被扔到一起,那么這個對象必然跨越抽象化和具體化層次。 第二、觀察者模式支持廣播通訊。被觀察者會向所有的登記過的觀察者發(fā)出通知 。 觀察者模式有下面的缺點: 第一、如果一個被觀察者對象有很多的直接和間接的觀察者的話,將所有的觀察者都通知到會花費很多時間。 第二、如果在被觀察者之間有循環(huán)依賴的話,被觀察者會觸發(fā)它們之間進行循環(huán)調(diào)用,導致系統(tǒng) 崩潰。在使用觀察者模式是要特別注意這一點。 第三、如果對觀察者的通知是通過另外的線程進行異步投遞的話,系統(tǒng)必須保證投遞是以自恰的方式進行的。 第四、雖然觀察者模式可以隨時使觀察者知道所觀察的對象發(fā)生了變化,但是觀察者模式?jīng)]有相應的機制使觀察者知道所觀察的對象是怎么發(fā)生變化的 。 在本設計中,經(jīng)理需要接受點單,然后通知所有的服務員以及做菜的師傅。 由于點單要及時也要高效經(jīng)濟,所以特別適用觀察者模式。 經(jīng)理為 Subject public interface ManagerSubject { public void registerObserver (WaiterObserver o)。 public void removeObserver (WaiterObserver o)。 public void notifyObservers ( )。 }//接口聲明。 以下為經(jīng)理的具體類 。 import .*。 public class Manager implements ManagerSubject { private ArrayList waiterObservers。//儲存訂閱者,及保存餐廳所有服務員 ,以及后面廚房的廚師 private String newOrder。//保存定單 public void Manager(){ waiterObservers = new ArrayList()。 } //通知所有的訂閱者,及及時將新的定單或修改的定單通知給所有的服務員,以及后面廚房的廚師 public void notifyObservers() { // TODO Autogenerated method stub for (int i = 0。 i ()。 i++) { WaiterObserver observer = (WaiterObserver)(i)。 (newOrder)。 } } //注冊訂閱者,及給餐廳增加服務員,以及后面廚房的廚師 public void registerObserver(WaiterObserver o) { // TODO Autogenerated method stub (o)。 } //移除訂閱者,開除服務員,以及后面廚房的廚師 public void removeObserver(WaiterObserver o) { // TODO Autogenerated method stub int i = (o)。 if (i = 0) (i)。 } //在此時調(diào)用通知方法 public void orderChanged() { notifyObservers()。 } //接收新的定單然后通知所有服務員,以及后面廚房的廚師 public void setMeasurements(String order) { = order。 orderChanged()。 } } 注釋比較清楚,注冊,注銷函數(shù)。接收點單,發(fā)布點單方法均為基本方法。 服務員和廚師為 Observer public interface WaiterObserver { public void update (String newOrder)。 } 服務員 A 實現(xiàn)兩個接口, ReadOrder 接口封裝一個閱讀點單的方法 : public class WaiterA implements WaiterObserver, ReadOrder { private String order。 private ManagerSubject managerA。 public WaiterA(ManagerSubject managerA ) { = managerA。 (this)。 } public void update(String newOrder) { // TODO Autogenerated method stub = newOrder。 read(orde
點擊復制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1