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

          關(guān)鍵命令調(diào)用類:

           1/**
           2 * 該類持有Command抽象類,action方法即可調(diào)用
           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()方法,所以其子類構(gòu)造參數(shù)為命令執(zhí)行者,并且持有命令執(zhí)行者對象,execute方法里面即為命令執(zhí)行者對象.方法
           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就是具體的執(zhí)行對象(抽象類),該模式體現(xiàn)了高內(nèi)聚的特點,缺點為有N個命令就會有N個子類,導(dǎo)致類膨脹。
          posted on 2010-12-25 23:28 朔望魔刃 閱讀(251) 評論(0)  編輯  收藏 所屬分類: 設(shè)計模式&&數(shù)據(jù)結(jié)構(gòu)
          主站蜘蛛池模板: 读书| 漳浦县| 黎城县| 台东市| 汶川县| 二手房| 育儿| 镇原县| 定襄县| 古蔺县| 玉门市| 龙山县| 鲁甸县| 南雄市| 咸阳市| 六枝特区| 阆中市| 通化县| 曲阳县| 唐海县| 梓潼县| 锡林郭勒盟| 光山县| 霍山县| 马公市| 南召县| 巧家县| 迁安市| 沭阳县| 定结县| 阳泉市| 阳新县| 江川县| 新河县| 宁国市| 沁阳市| 汨罗市| 昆明市| 宁都县| 慈溪市| 通州区|