成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

命令模式

王陸寬 / 1576人閱讀

摘要:描述一個對象可以發(fā)一些命令讓接受者幫助它執(zhí)行,命令的發(fā)起者和接收者不必耦合,兩者的溝通通過命令的傳遞進(jìn)行溝通。場景某個經(jīng)常會指點(diǎn)江山,讓為他寫代碼,做報告,身為只能執(zhí)行命令。

描述:一個對象可以發(fā)一些命令讓接受者幫助它執(zhí)行,命令的發(fā)起者和接收者不必耦合,兩者的溝通通過命令的傳遞進(jìn)行溝通。

場景:某個boss經(jīng)常會指點(diǎn)江山,讓coder為他寫代碼,做報告,身為coder只能執(zhí)行命令。

實現(xiàn):

抽象命令

interface Command {
    void coding();
    void report();
}

定義一個coder,負(fù)責(zé)執(zhí)行commad

class Coder {
    void exe(String cmd) {
        System.out.println("I am coder, get the cmd: " + cmd);
    }
}

具體的命令, 這個命令的執(zhí)行是coder去執(zhí)行的

class MyCommand implements Command {
    Coder coder;
    @Override
    public void coding() {
        coder.exe("coding");
    }
    @Override
    public void report() {
        coder.exe("report");
    }
}

定義一個boss,專門指點(diǎn)江山,命令的執(zhí)行細(xì)節(jié)他不需要知道

class Boss {
    Command cmd;
    Boss(Command cmd) {
        this.cmd = cmd;
    }
    void coding() {
        cmd.coding();
    }
    void report() {
        cmd.report();
    }
}

客戶端調(diào)用

public class CommandDemo {
    public static void main(String[] args) {
        Command cmd = new MyCommand();
        Boss boss = new Boss(cmd);
        boss.coding();
        boss.report();
    }

}

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/64008.html

相關(guān)文章

  • 每天一個設(shè)計模式命令模式

    摘要:作者按每天一個設(shè)計模式旨在初步領(lǐng)會設(shè)計模式的精髓,目前采用和兩種語言實現(xiàn)。該對象執(zhí)行命令。命令模式按鈕參考設(shè)計模式和開發(fā)實踐如何實現(xiàn)命令模式 作者按:《每天一個設(shè)計模式》旨在初步領(lǐng)會設(shè)計模式的精髓,目前采用javascript和python兩種語言實現(xiàn)。誠然,每種設(shè)計模式都有多種實現(xiàn)方式,但此小冊只記錄最直截了當(dāng)?shù)膶崿F(xiàn)方式 :) 原文地址是:《每天一個設(shè)計模式之命令模式》 歡迎關(guān)注個人...

    paney129 評論0 收藏0
  • 每天一個設(shè)計模式命令模式

    摘要:作者按每天一個設(shè)計模式旨在初步領(lǐng)會設(shè)計模式的精髓,目前采用和兩種語言實現(xiàn)。該對象執(zhí)行命令。命令模式按鈕參考設(shè)計模式和開發(fā)實踐如何實現(xiàn)命令模式 作者按:《每天一個設(shè)計模式》旨在初步領(lǐng)會設(shè)計模式的精髓,目前采用javascript和python兩種語言實現(xiàn)。誠然,每種設(shè)計模式都有多種實現(xiàn)方式,但此小冊只記錄最直截了當(dāng)?shù)膶崿F(xiàn)方式 :) 原文地址是:《每天一個設(shè)計模式之命令模式》 歡迎關(guān)注個人...

    lixiang 評論0 收藏0
  • 設(shè)計模式(6)命令模式(講解+應(yīng)用)

    摘要:目錄命令模式為什么使用命令模式命令模式應(yīng)用實例命令模式命令模式在軟件系統(tǒng)中,行為請求者與行為實現(xiàn)者通常呈現(xiàn)一種緊耦合。下篇更代理模式,側(cè)重下其和委托形式的區(qū)別和實際應(yīng)用。 目錄 命令模式 為什么使用命令模式 命令模式應(yīng)用實例 命令模式 命令模式:在軟件系統(tǒng)中,行為請求者與行為實現(xiàn)者通常呈現(xiàn)一種緊耦合。但在某些場合,比如要對行為進(jìn)行記錄、撤銷/重做、事務(wù)等處理,這種無法抵御變化的緊耦...

    3fuyu 評論0 收藏0
  • JavaScript設(shè)計模式(七):命令模式

    摘要:支持撤銷,隊列,宏命令等功能。宏命令宏命令一組命令集合命令模式與組合模式的產(chǎn)物發(fā)布者發(fā)布一個請求,命令對象會遍歷命令集合下的一系列子命令并執(zhí)行,完成多任務(wù)。 showImg(https://segmentfault.com/img/bVbu3CN?w=800&h=600); 命令模式:請求以命令的形式包裹在對象中,并傳給調(diào)用對象。調(diào)用對象尋找可以處理該命令的合適的對象,并把該命令傳給相...

    lixiang 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<