隨筆-95  評(píng)論-31  文章-10  trackbacks-0
          命令模式:
          命令模式有三個(gè)角色:1、接收者。2、命令者。3、調(diào)用者
          這三個(gè)的關(guān)系是:接收者自己有方法,有屬性,有自己的行為。命令者定義為一個(gè)接口,實(shí)現(xiàn)該接口的類(lèi)持有接收者類(lèi),通過(guò)構(gòu)造加載進(jìn)來(lái),同時(shí)有一個(gè)execute()方法,里面調(diào)用接收者的方法。調(diào)用者持有命令者接口,通過(guò)set方法加載進(jìn)來(lái),并有一個(gè)action()方法這里和execute()方法區(qū)分,里面調(diào)用execute()方法,所以調(diào)用者對(duì)外只暴露該action方法便可以實(shí)現(xiàn)不同的行為。實(shí)例化的過(guò)程為:
          Receive receive = new Receive();
          Command cc  = new ConcreteCommand(receive);
          Invoker ik = new Invoker();
          ik.setCommand(cc);
          ik.action();//這里即為調(diào)用的cc.execute()方法但是里面又調(diào)用的receiver的方法,這里就等于將調(diào)用者與接收者通過(guò)命令者解耦了,調(diào)用者不關(guān)心內(nèi)部怎么實(shí)現(xiàn),只需調(diào)用action()方法,就可以調(diào)用receive的方法,對(duì)外只暴露了一個(gè)方法。
          這個(gè)模式可以用于隊(duì)列請(qǐng)求,日志請(qǐng)求,還有struts框架的Action類(lèi)也是用命令模式實(shí)現(xiàn),就寫(xiě)到這里明天補(bǔ)充代碼。
          posted on 2010-09-06 00:21 朔望魔刃 閱讀(282) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): 設(shè)計(jì)模式&&數(shù)據(jù)結(jié)構(gòu)
          主站蜘蛛池模板: 桂东县| 毕节市| 洛川县| 大田县| 萨嘎县| 四子王旗| 昭觉县| 诸暨市| 津市市| 锦屏县| 石渠县| 峨山| 山西省| 类乌齐县| 日喀则市| 洞口县| 简阳市| 紫金县| 伊春市| 鄂尔多斯市| 泸州市| 颍上县| 手游| 宁强县| 抚松县| 阿坝县| 石家庄市| 沁阳市| 昌黎县| 南昌市| 临潭县| 锡林郭勒盟| 宁南县| 富宁县| 视频| 绍兴县| 卓资县| 古田县| 东阳市| 芜湖县| 长岭县|