国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Java > 正文

輕松掌握J(rèn)ava命令模式

2019-11-26 13:46:56
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

定義:請(qǐng)求以命令的形式包裹在對(duì)象中,并傳給調(diào)用對(duì)象。調(diào)用對(duì)象尋找可以處理該命令的合適的對(duì)象,并把該命令傳給相應(yīng)的對(duì)象,該對(duì)象執(zhí)行命令。

特點(diǎn):

    1、降低了系統(tǒng)耦合度。

    2、新的命令可以很容易添加到系統(tǒng)中去。

企業(yè)級(jí)開(kāi)發(fā)和常用框架中的應(yīng)用:事務(wù),struts的action控制器

實(shí)例:

public class Demo { public static void main(String[] args) { Reicever reicever = new Reicever(); Command command = new ActualCommand(reicever); Invoker invoker = new Invoker(); invoker.addCommand(command); invoker.call(); }}/** * 命令真正的執(zhí)行者,對(duì)于不同的命令可能有不同的命令執(zhí)行者  */class Reicever{ public void action(){ System.out.println("Reicever.action()"); }}/** * 命令接口,也為了后面統(tǒng)一后面的命令  */interface Command{ public void excute();}/** * 實(shí)際命令對(duì)象,可能有很多不同的命令對(duì)象  */class ActualCommand implements Command{ private Reicever reicever; public ActualCommand(Reicever reicever) { this.reicever = reicever; } public void excute() { reicever.action(); }}/** * 命令發(fā)出者  */class Invoker{ private List<Command> commands = new ArrayList<>();  public void addCommand(Command command){ commands.add(command); }  public void call(){ for(Command c:commands){ c.excute(); } } }

命令模式單獨(dú)是用的情況很少,一般都是和備忘錄模式組合是用。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 河池市| 尚志市| 巴楚县| 武宣县| 城口县| 墨竹工卡县| 塔河县| 富宁县| 汝州市| 临猗县| 廊坊市| 奈曼旗| 松潘县| 日喀则市| 锡林郭勒盟| 印江| 安义县| 大荔县| 农安县| 巴林右旗| 腾冲县| 朔州市| 凤冈县| 银川市| 白水县| 施秉县| 淮滨县| 乐安县| 古田县| 治多县| 淮北市| 航空| 洛川县| 凤翔县| 星座| 乐平市| 济阳县| 巴里| 介休市| 鹿邑县| 古蔺县|