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

正文內(nèi)容

[工學(xué)]4設(shè)計(jì)模式十八篇(編輯修改稿)

2025-02-14 13:15 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 torBus。 //公交車vectorBus private Passenger passenger。 public ConcreteBusConductor(Passenger passenger) { =passenger。 } public void getCurrentPassenger(Passenger passenger) { vectorBus = ()。 //獲得當(dāng)前的乘客情況 for(int i = 0。 i ()。 i++) { (公交車上有: + (String)(i))。 } } public void findPassengerChange(String action, String str) { //公交車乘客變化 (action, str)。 } public void observeResult() { //觀察到的情況 ()。 }}定義乘客(Passenger)接口類:public interface Passenger { public abstract void attach(BusConductor busConductor)。 //將乘客和售票員關(guān)聯(lián)起來(lái) public abstract void showPassengerInfo()。 //傳遞乘客情況 public abstract Vector getCurrentPassenger()。 //獲得當(dāng)前乘客情況 public abstract void setCurrentPassenger(String act, String str)。 //設(shè)置當(dāng)前乘客情況}定義對(duì)乘客(Passenger)接口的具體實(shí)現(xiàn):public class ConcretePassenger implements Passenger{ private List observerList。 //觀察者列表 private Vector vectorBus。 //公交車vectorBus public ConcretePassenger() { observerList = new ArrayList()。 vectorBus = new Vector()。 } public void attach(BusConductor busConductor) { (busConductor)。 //將公交車售票員增加到觀察者列表 } public void showPassengerInfo() { for(int i = 0。 i ()。 i++) {//使公交車售票員獲得當(dāng)前乘客情況 ((BusConductor)(i)).getCurrentPassenger(this)。 } } public void setCurrentPassenger(String act, String str) { if((up)) { //乘客上車 (str)。 //將該乘客增加到公交車vectorBus中 } else if((down)) { //乘客下車 (str)。 //將該乘客從公交車vectorBus中刪除 } } public Vector getCurrentPassenger() { //獲得當(dāng)前乘客情況 return vectorBus。 } }編寫測(cè)試類:public class Test { public static void main(String[] args) { Passenger passenger = new ConcretePassenger()。 ConcreteBusConductor busConductor = new ConcreteBusConductor(passenger)。 (busConductor)。 //將公交車車售票員和乘客聯(lián)系起來(lái) //公交車售票員觀察到的情況 (公交車售票員觀察到的情況:)。 (up, 乘客張三)。 //上來(lái)乘客張三 (up, 乘客李四)。 //上來(lái)乘客李四 ()。 //公交車售票員觀察到的情況 (公交車售票員觀察到的情況:)。 (down, 乘客李四)。 //下去乘客李四 (up, 乘客王五)。 //上來(lái)乘客王五 ()。 }}說(shuō)明:A:定義:反映對(duì)象間的的依賴關(guān)系,當(dāng)一個(gè)對(duì)象的狀態(tài)發(fā)生改變時(shí), 所有依賴于它的對(duì)象都得到通知并被自動(dòng)更新。B:在本例中,公交車售票員是觀察者,當(dāng)乘客情況發(fā)生變化時(shí),公交車售票員能及時(shí)獲得這個(gè)信息。C:Observer用于需要及時(shí)展現(xiàn)信息變化的系統(tǒng)、比如可以用于股票、稅務(wù)上等。設(shè)計(jì)模式之Singleton——生育篇老媽對(duì)我們沒(méi)給她生個(gè)小子而是個(gè)女兒始終耿耿于懷,這不最近不知從那里聽(tīng)說(shuō)現(xiàn)在政策允許再生一胎的消息后,不停的在我耳邊嘮叨。說(shuō)道生孩子,就不得不提一提我國(guó)的計(jì)劃生育政策,只生一個(gè)好,兒女都一樣,少生,優(yōu)生,幸福一生等等這些標(biāo)語(yǔ)滿大街都是,計(jì)劃生育政策也確實(shí)為我國(guó)控制人口立下了汗馬功勞,不過(guò)我覺(jué)得讓許多人真正只想生一個(gè)的應(yīng)該歸功于教育產(chǎn)業(yè)化,醫(yī)療產(chǎn)業(yè)化等等這一大群產(chǎn)業(yè)化,至少我就是這樣想的。嘿嘿,好象說(shuō)遠(yuǎn)了,那好,讓我們言歸正傳開始吧。我們定義孩子(Child)類:public class Child { private static Child myChild = null。 //我的孩子private Child(){}public static Child getChild() { //生孩子 if(myChild == null) { (你還沒(méi)有孩子,可以生一個(gè)!)。 myChild = new Child()。 } else{ (你已經(jīng)有孩子了,不能再生了!)。 } return myChild 。 }}編寫測(cè)試類:public class Test { public static void main(String args[]) { ()。 ()。 //當(dāng)你已有一個(gè)孩子而再想生一個(gè)時(shí),會(huì)提示你不能再生了 }} 說(shuō)明:A:定義:Singleton模式的作用是保證在Java應(yīng)用程序中,一個(gè)類Class只有一個(gè)實(shí)例存在。B:其實(shí)本例也可以通過(guò)使用synchronized關(guān)鍵字來(lái)實(shí)現(xiàn),板橋兄的文章對(duì)此闡述的很清楚,恕在此就不多說(shuō)了。特別感謝:感謝zdr29473 、凌寒、flylyke等廣大網(wǎng)友的支持,現(xiàn)已將代碼進(jìn)行了修改,希望大家多提寶貴意見(jiàn),讓我們共同進(jìn)步吧,再次感謝。設(shè)計(jì)模式之Command——電視篇 每天晚上,搶電視遙控器都是我們家的保留節(jié)目。女兒喜歡看卡通屏道,老婆喜歡看電視劇屏道,我呢則喜歡看足球屏道。因此誰(shuí)控制了遙控器,就等于實(shí)現(xiàn)了自己的節(jié)目夢(mèng)想了。嘿嘿,其實(shí)每次都是我女兒成功得到,而且她還每次都陣陣有詞的說(shuō):大的應(yīng)該讓小的嗎?,你看這孩子,不知跟誰(shuí)學(xué)的。然后遙控器就是老婆的,最后才輪到我,當(dāng)我高興的按到足球屏道時(shí),播音員說(shuō):今天的節(jié)目就到這里了,請(qǐng)明天再看!,我倒地狂嘔血i 不止。 大家都知道電視遙控器節(jié)目面板(ProgramPan)是由節(jié)目按鈕組成,通過(guò)選擇相應(yīng)的節(jié)目按鈕,就可以切換到相應(yīng)的節(jié)目屏道。下來(lái)讓我們看看如何實(shí)現(xiàn)通過(guò)遙控器按鈕選擇節(jié)目屏道的過(guò)程吧。在這里,先定義遙控器按鈕(RemoteControlButton)接口:public interface RemoteControlButton { public abstract void selectProgram()。 //選擇節(jié)目屏道}再定義遙控器按鈕(RemoteControlButton)接口的實(shí)現(xiàn)類:A:卡通節(jié)目按鈕(CartonProgramButton)類:public class CartonProgramButton implements RemoteControlButton{ public void selectProgram() { (選擇了卡通屏道!)。 }}B:電視劇節(jié)目按鈕(TvPlanProgramButton)類:public class TvPlanProgramButton implements RemoteControlButton { public void selectProgram() { (選擇了電視劇屏道!)。 }}C:足球節(jié)目按鈕(FootProgramButton)類:public class FootProgramButton implements RemoteControlButton { public void selectProgram() { (選擇了足球屏道!)。 }}遙控器節(jié)目面板(ProgramPan)類:用來(lái)控制節(jié)目按鈕,顯示節(jié)目public class ProgramPan { public static List programList() { List list = new ArrayList()。 //節(jié)目屏道按鈕列表 (new CartonProgramButton())。 //卡通屏道按鈕 (new TvPlanProgramButton())。 //電視劇屏道按鈕 (new FootProgramButton())。 //足球屏道按鈕 return list。 }}編寫測(cè)試類:public class TestCommand { public static void main(String[] args) { List list = ()。 //獲得節(jié)目屏道按鈕 for (Iterator it = ()。()。) ( (RemoteControlButton) ()).selectProgram()。 //選擇節(jié)目屏道中對(duì)應(yīng)的節(jié)目 }}運(yùn)行:選擇了卡通屏道!選擇了電視劇屏道!選擇了足球屏道!說(shuō)明:A:Command說(shuō)白了就是通過(guò)選擇一個(gè)個(gè)命令,然后執(zhí)行相應(yīng)動(dòng)作。B:Command是對(duì)行為進(jìn)行封裝的典型模式,在本例中通過(guò)遙控器節(jié)目面板(ProgramPan)這個(gè)封裝類來(lái)實(shí)現(xiàn)我們看電視節(jié)目的目的。C:Command模式和Facade(外觀)模式似乎比較相似。都是通過(guò)封裝類來(lái)進(jìn)行訪問(wèn)的。如何區(qū)分,對(duì)這點(diǎn)我也比較疑惑。D:Command模式是用collection的對(duì)象容器類,把另一些類放到里面,以實(shí)現(xiàn)集體的一塊操作,以進(jìn)行封裝。facade模式是把某個(gè)功能的操作,集中放在一起,使之用一個(gè)統(tǒng)一的,對(duì)外接口,比如:封裝數(shù)據(jù)庫(kù)操作,發(fā)郵件操作等等。特此感謝:感謝changlich網(wǎng)友對(duì)Command模式和facade模式的區(qū)別的解釋,特此將這個(gè)解釋加入到說(shuō)明中,希望能對(duì)大家有所幫助。再次感謝大家的支持。設(shè)計(jì)模式之State——交通篇小朋友過(guò)馬路,左右看,紅燈停,綠燈行,阿姨夸我是乖寶寶。,我給女兒念著兒歌,突然女兒?jiǎn)栁?,什么是紅綠燈?。繛榱私o她說(shuō)清楚,我特意帶她看我們家附近的交通燈(NearMyFamilyTrafficLight)的運(yùn)行。我們都知道,交通燈有三種狀態(tài):紅燈(RedLight)、黃燈(YellowLight)和綠燈(GreenLight)。交通燈狀態(tài)的改變是由控制中心(ControlCenter)來(lái)控制的。下面讓我們來(lái)看看這個(gè)過(guò)程是如何實(shí)現(xiàn)的。 在這里,先定義交通燈(TrafficLight)接口類:public interface TrafficLight {public void showRedLight()。 //顯示紅燈public void showGreenLight()。//顯示綠燈 public void showYellowLight()。 //顯示黃燈}我們家附近的交通燈(NearMyFamilyTrafficLight)是對(duì)交通燈(TrafficLight)接口的具體實(shí)現(xiàn):public class NearMyFamilyTrafficLight implements TrafficLight{ public void showRedLight(){ (紅燈亮了,不能通過(guò)!)。 } public void showGreenLight(){ (綠燈亮了,可以通過(guò)!)。 } public void showYellowLight(){ (黃燈亮了!)。 }}定義控制中心(ControlCenter)類:public class ControlCenter { private NearMyFamilyTrafficLight trafficLight。 //我們家附近的交通燈 public void changeSta
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1