科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件戏说java设计模式中的命令模式

戏说java设计模式中的命令模式

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

为了把命令模式讲清楚,我要举一个大家都影象深刻的例子以便大家的理解,那就借用的足球的例子吧。

作者:中国IT实验室 来源:中国IT实验室 2007年8月26日

关键字: java 命令模式

  • 评论
  • 分享微博
  • 分享邮件
  JAVA的设计模式我想大家都知道,但每个人的理解并不相同,我在这里只是阐述我的观点,要是与您的观点不同请您原谅和提出您的宝贵意见。
  
  为了把命令模式讲清楚,我要举一个大家都影象深刻的例子以便大家的理解,那就借用的足球的例子吧。
  
  UML略
  我设计了五个类,分别是:球队老板,老板的命令(接口),教练,命令的内容,球员。
  
  球员的示例代码
  
  public class 球员 {
     public void run() {
        球场上奔跑;
        }
     public void Norun() {
        球场上不奔跑;
        }
     public void shot() {
        射门;
        }
     public void Noshot() {
        不射门;
        }
     public void hoo() {
        积极比赛;
        }
  }
  
  教练类的示例代码
  
  public class 命令的内容 implements 老板的命令 {
     球员 team;
     public 命令的内容 ( 球员 ateam) {
        this.team = ateam;
      }
     //赢球的方法
    public void victory() {
       team.hoo();
       team.run();
       team.shot();
       }
     //输球的方法
     public void fail() {
       team.Norun();
       team.Noshot();
       }
  }
  
  老板的命令类的示例代码
  
  public interface 老板的命令 {
     void victory();
     void fail();
  }
  
  教练的示例代码
  
  public class 教练 {
     private 老板的命令 bossCommand;
     public 教练(老板的命令 abossCommand) {
     this.bossCommand = abossCommand;
     }
  }
  
  老板的示例代码
  
  public class 老板 {
     public static void main(String[] args) {
       球员 team = new 球员();
       老板的命令 bossCommand = new 命令的内容(team);
       教练 drillmaster = new 教练(bossCommand);
       drillmaster.victory();//赢球
       drillmaster.fail();//输球
     }
  }
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章