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

正文內(nèi)容

面向?qū)ο蟪绦蛟O(shè)計(jì)設(shè)計(jì)模式論文鄧鵬輝-文庫吧

2025-04-23 20:59 本頁面


【正文】 eetOrder { public String sweet() { (I want the Sweet)。 return I want the Sweet。 } } c)類 SweetNo: package client。 public class SweetNo implements SweetOrder { public String sweet() { (I do not want the Sweet)。 return I do not want the Sweet。 } } 而客人類 client 則面向接口編程,并使整個(gè)客人類中的屬性可以利用接口和其方法實(shí)現(xiàn)自選和變更。 public abstract class Clients { CookingOrder cookingOrder。 SweetOrder sweetOrder。 DrinkOrder drinkOrder。//面向接口編程 public Clients(){} public void setCookingOrder (CookingOrder cook) { cookingOrder = cook。 }//動(dòng)態(tài)設(shè)置點(diǎn)餐要求 面向接口編程 ,即利用接口將不同的接口實(shí)現(xiàn) 包括進(jìn)去,實(shí)現(xiàn)多項(xiàng)選擇,策略變化。 而 DinnerClient 則是一個(gè)具體的客人類,根據(jù)晚宴的要求,針對(duì)自己實(shí)現(xiàn)有特點(diǎn)的選擇。 觀察者模式 在設(shè)計(jì)一組依賴的對(duì)象與它們所依賴的對(duì)象之間一致(同步)的交流模型時(shí),觀察者模式( Observer Pattern)很有用。它可以使依賴對(duì)象的狀態(tài)與它們所依賴的對(duì)象的狀態(tài)保持同步。這組依賴的對(duì)象指的是觀察者( Observer) ,它們所依賴的對(duì)象 稱為主題( Subject)。為了實(shí)現(xiàn)觀察者( Observer)的狀態(tài)與主題( Subject)保持同步,觀察者模式( Observer Pattern) 定義了一種一對(duì)多的依賴關(guān)系,讓多個(gè)觀察者對(duì)象同時(shí)監(jiān)聽某一個(gè)主題對(duì)象。這個(gè)主題對(duì)象在狀態(tài)上發(fā)生變化時(shí),會(huì)通知所有觀察者對(duì)象,使他們能夠自動(dòng)更新自己。 由于給定主體的觀察者鏈表需要?jiǎng)討B(tài)的變化,因此一個(gè)主題不能維護(hù)一個(gè)靜態(tài)的觀察者鏈表。因此關(guān)注于主題狀態(tài)的任何對(duì)象都需要明確地注冊(cè)自己為主體的一個(gè)觀 察者。主題狀態(tài)發(fā)生的變化,都需要通知所有的以注冊(cè)的觀察者。從主題接到通知以后,每一個(gè)觀察者查詢主題,使自己的狀態(tài)與主 題的同步。因此一個(gè)主題扮演著 發(fā)布者的角色,發(fā)布信息到所有的以訂閱的觀察者。 換句話說,主題和它的觀察者之間包含了一對(duì)多的關(guān)系。當(dāng)主題的實(shí)例的狀態(tài)發(fā)生變 化時(shí),所有的依賴于它的觀察者都會(huì)得到通知并更新自己。每一個(gè)觀察者對(duì)象需要向主題注冊(cè),當(dāng)主題的狀態(tài)發(fā)生變化的時(shí)候得到通知。一個(gè)觀察者可以注冊(cè)或者訂 閱多個(gè)主題。當(dāng)觀察者不希望再得到通知時(shí),它可以向主題進(jìn)行注銷。 本模式的類圖結(jié)構(gòu)如下: 圖 23 觀察者模式的靜態(tài)結(jié)構(gòu) 在觀察者模式里有如下的角色: 抽象主題( Subject)角色:主題角色把所有的觀察者對(duì)象的引用保存在一個(gè)列表里;每個(gè)主題都可以有任何數(shù)量的觀察者。主題提供一個(gè)接口可以加上或撤銷觀察者對(duì)象;主題角色又叫做抽象被觀察者 (Observable)角色; 圖 24 抽象 主題角 色 抽象主題角色,有時(shí)又叫做抽象被觀察者角色,可以用一個(gè)抽象類或者一個(gè)接口實(shí)現(xiàn);在具體的情況下也不排除使用具體類實(shí)現(xiàn)。 抽象觀察者( Observer)角色:為所有的具體觀察者定義一個(gè)接口,在得到通知時(shí)更新自己; 圖 25 抽象 觀察角色 抽象觀察者角色,可以用一個(gè)抽象類或者一個(gè)接口實(shí)現(xiàn);在具體的情況下也不排除使用具體類實(shí)現(xiàn)。 具體主題( ConcreteSubject)角色:保存對(duì)具體觀察者對(duì)象有用的內(nèi)部狀態(tài);在這種內(nèi)部狀態(tài)改變時(shí)給其觀察者發(fā)出一個(gè)通知;具體主題角色又叫作具體被觀察者角色; 圖 26 具體 主題角色 具體主題角色,通常用一個(gè)具體子類實(shí)現(xiàn)。 具體觀察者( ConcreteObserver)角色:保存一個(gè)指向具體主題對(duì)象的引用;和一個(gè)與主題的狀態(tài)相符的狀態(tài)。具體觀察者角色 實(shí)現(xiàn)抽象觀察者角色所要求的更新自己的接口,以便使本身的狀態(tài)與主題的狀態(tài)自恰。 圖 27具體觀察者角色 具體觀察者角色,通常用一個(gè)具體子類實(shí)現(xiàn)。 觀察者模式的效果 : 觀察者模式的效果有以下的優(yōu)點(diǎn): 第一、觀察者模式在被觀察者和觀察者之間建立一個(gè)抽象的耦合。被觀察者角色所知道的只是一個(gè)具體觀察者列表,每一個(gè)具體觀察者都符合一個(gè)抽象觀察者的接口。 被觀察者并不認(rèn)識(shí)任何一個(gè)具體觀察者,它只知道它們都有一個(gè)共同的接口。 由于被觀察者和觀察者沒有緊密地耦合在一起,
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1