簡體中文 | 繁體中文

大話設計模式-----第191章


美女房東的貼身護衛 你是我遇不到的溫柔 心之絆 極品殺王 獨許深情 豪門少爺倒插門 江山美女盡在囊中 馭夫之術:幽冥萌妃被反撲 血鸚鵡 造化之途 功名路 妃他不愛:冷情王爺痴情妃 妃常囂張 網王之恰似你的溫柔 快穿妖女守則 白露為霜 陰陽詭眼 不說話的半夏 呆萌太子妃 燕傾天下
第191章

大B:“為了把命令模式講清楚,我舉一個印象深刻的例子以便理解,那就借用的足球的例子吧。”

小A:“好的。”

大B:“我設計了五個類,分別是:球隊老闆,老闆的命令(介面),教練,命令的內容,球員。”

球員的示例程式碼

publicclass球員{

publicvoidrun(){

球場上奔跑;

}

publicvoidNorun(){

球場上不奔跑;

}

publicvoidshot(){

射門;

}

publicvoidNoshot(){

不射門;

}

publicvoidhoo(){

積極比賽;

}

}

教練類的示例程式碼

publicclass命令的內容implements老闆的命令{

球員team;

public命令的內容(球員ateam){

this.team=ateam;

}

//贏球的方法

publicvoidvictory(){

team.hoo();

team.run();

team.shot();

}

//輸球的方法

publicvoidfail(){

team.Norun();

team.Noshot();

}

}

老闆的命令類的示例程式碼

publicinterface老闆的命令{

voidvictory();

voidfail();

}

教練的示例程式碼

publicclass教練{

private老闆的命令bossCommand;

public教練(老闆的命令abossCommand){

this.bossCommand=abossCommand;

}

}

老闆的示例程式碼

publicclass老闆{

publicstaticvoidmain(String[]args){

球員team=new球員();

老闆的命令bossCommand=new命令的內容(team);

教練drillmaster=new教練(bossCommand);

drillmaster.victory();//贏球

drillmaster.fail();//輸球

}

}

大B:“在實際的應用中老闆就相當於使用者本人,球員相當於具體的實施類,在具體的實施類裡面有很多的方法,你可以透過一個命令類來表明你要的操作,而不是老闆類來直接來控制球員類,其中的順序是這樣的:老闆發出命令給教練,教練根據命令中的具體內容給球員,球員作出行為給老闆掙錢,這就是老闆的命令模式,哈哈,要是老闆要打假球就發出drillmaster.fail();//輸球這樣的命令就行了。可憐的球迷呀!最後被罵的還是教練和球員,老闆要是實在看不下去了,就發出drillmaster.victory();//贏球就可以了,被媒體吹捧的是教練和球員,而老闆有了錢,但我們可不知道內幕的原因,因為看起來老闆沒有參加實際的操作。”

推薦小說