隨筆-95  評論-31  文章-10  trackbacks-0
          命令模式:
          命令模式有三個角色:1、接收者。2、命令者。3、調用者
          這三個的關系是:接收者自己有方法,有屬性,有自己的行為。命令者定義為一個接口,實現該接口的類持有接收者類,通過構造加載進來,同時有一個execute()方法,里面調用接收者的方法。調用者持有命令者接口,通過set方法加載進來,并有一個action()方法這里和execute()方法區分,里面調用execute()方法,所以調用者對外只暴露該action方法便可以實現不同的行為。實例化的過程為:
          Receive receive = new Receive();
          Command cc  = new ConcreteCommand(receive);
          Invoker ik = new Invoker();
          ik.setCommand(cc);
          ik.action();//這里即為調用的cc.execute()方法但是里面又調用的receiver的方法,這里就等于將調用者與接收者通過命令者解耦了,調用者不關心內部怎么實現,只需調用action()方法,就可以調用receive的方法,對外只暴露了一個方法。
          這個模式可以用于隊列請求,日志請求,還有struts框架的Action類也是用命令模式實現,就寫到這里明天補充代碼。
          posted on 2010-09-06 00:21 朔望魔刃 閱讀(282) 評論(0)  編輯  收藏 所屬分類: 設計模式&&數據結構
          主站蜘蛛池模板: 安徽省| 孟州市| 苍溪县| 运城市| 连州市| 宁蒗| 峨边| 施秉县| 广东省| 安乡县| 花垣县| 梅河口市| 苏尼特左旗| 兴化市| 五莲县| 淄博市| 罗源县| 阿克| 色达县| 界首市| 新化县| 聂拉木县| 开平市| 突泉县| 中山市| 利川市| 两当县| 托克逊县| 宁蒗| 德令哈市| 开化县| 安龙县| 库伦旗| 西昌市| 辰溪县| 朝阳市| 北川| 潼南县| 榆社县| 葵青区| 宁阳县|