zoukankan      html  css  js  c++  java
  • 【设计模式】14.命令模式

    说明:感觉比较复杂,需要命令管理,命令,接收者,发送者来完成。而且单看,命令和接收者是绑定的。感觉要整个系统需要命令式管理才能起到很好效果

    场景:1.需要可以撤销命令的。

       2.需要将命令保存到日志里,以便日后使用的。

    实现:

    //执行命令
        public class goOrder
        {
            private ABS_Order orderObj;
    
            public goOrder(ABS_Order ordObj)
            {
                orderObj = ordObj;
            }
    
            public void doing()
            {
                orderObj.Action();//不管说明命令,执行就行
            }
        }
    
        //命令抽象类
        public abstract class ABS_Order
        {
            //知道是谁接受命令了
            protected Employee ea_base;
            public ABS_Order(Employee _ea)
            {
                ea_base = _ea;
            }
    
            public abstract void Action();
        }
    
        //实现命令
        public class Order :ABS_Order
        {
            public Order(Employee _ea):base(_ea) {
            }
            public override void Action() {
                //调用执行OT
                ea_base.OT();
            }
        }
    
        //具体哪个接受命令,员工
        public class Employee
        {
            //叫员工去加班
            public void OT()
            {
                //实现方法
            }
        }
    
        public class test
        {
            public void start()
            {
                Employee e = new Employee();
                ABS_Order abso = new Order(e);
    
                goOrder boss = new goOrder(abso);
                boss.doing();//老板叫员工去干活,至于干什么,看命令才知道
            }
        }
  • 相关阅读:
    动手动脑篇之类与对象
    团队精神
    在快乐中学习
    实习报告
    大道至简读后感(二)
    大道至简读后感
    读《大道至简》第一章有感
    指令随笔之:tail、cat、scp、&、&&、;、|、>、>>
    NFS安装过程
    CentOS7编译安装Nginx-1.8.1和编译参数
  • 原文地址:https://www.cnblogs.com/laokchen/p/13542446.html
Copyright © 2011-2022 走看看