隨筆-95  評論-31  文章-10  trackbacks-0

          關鍵命令調用類:

           1/**
           2 * 該類持有Command抽象類,action方法即可調用
           3 * Command的子類方法名稱都為execute
           4 **/

           5public class invoker{
           6         private Command command;
           7         public setCommand(Command command){
           8             this.command = command            
           9         }

          10         public void action(){
          11             this.command.execute();
          12}
                 
          13}
          Command抽象類,里面只含有execute()方法,所以其子類構造參數為命令執行者,并且持有命令執行者對象,execute方法里面即為命令執行者對象.方法
           1public abstract class Command{
           2   public abstract void execute();
           3}

           4
           5public class Command1 extends Command{
           6   private Receiver receiver;
           7   public Command1(Receiver receiver){
           8       this.receiver = receiver;
           9}

          10   @Override
          11   public void execute(){
          12     receiver.doSomething();
          13}
           
          14}
          以上Receiver就是具體的執行對象(抽象類),該模式體現了高內聚的特點,缺點為有N個命令就會有N個子類,導致類膨脹。
          posted on 2010-12-25 23:28 朔望魔刃 閱讀(251) 評論(0)  編輯  收藏 所屬分類: 設計模式&&數據結構
          主站蜘蛛池模板: 漳浦县| 健康| 扎赉特旗| 酒泉市| 缙云县| 乾安县| 桦南县| 富裕县| 黄浦区| 法库县| 高邮市| 阿拉善右旗| 寻乌县| 锡林郭勒盟| 霍林郭勒市| 灵石县| 富顺县| 绥芬河市| 屯留县| 南澳县| 邻水| 元氏县| 铜鼓县| 安仁县| 行唐县| 古田县| 临高县| 盐池县| 科技| 南靖县| 芦溪县| 项城市| 嵊泗县| 宿迁市| 和龙市| 贵南县| 聂拉木县| 小金县| 兴山县| 新巴尔虎左旗| 哈尔滨市|