隨筆-95  評(píng)論-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í)行者對(duì)象,execute方法里面即為命令執(zhí)行者對(duì)象.方法
           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í)行對(duì)象(抽象類),該模式體現(xiàn)了高內(nèi)聚的特點(diǎn),缺點(diǎn)為有N個(gè)命令就會(huì)有N個(gè)子類,導(dǎo)致類膨脹。
          主站蜘蛛池模板: 元氏县| 乌兰察布市| 赤城县| 读书| 新安县| 翁源县| 贞丰县| 左云县| 通许县| 驻马店市| 从江县| 渝中区| 安国市| 交城县| 诸暨市| 绥化市| 南岸区| 杨浦区| 澎湖县| 佛学| 盐津县| 奇台县| 尼木县| 缙云县| 晋中市| 晴隆县| 大洼县| 博罗县| 木兰县| 沐川县| 嘉善县| 砚山县| 保亭| 应城市| 剑川县| 惠安县| 荆门市| 湖南省| 日土县| 夏津县| 三亚市|