• 【设计模式】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();//老板叫员工去干活,至于干什么,看命令才知道
            }
        }
  • 相关阅读:
    用指针方法排序数组
    struct和typedef struct
    结构体类型定义的一般式
    HDOJ1020 Encoding
    malloc函数详解
    新手入门 acm 输入输出练习
    【算法入门】广度/宽度优先搜索(BFS)
    C++栈和队列
    hdu畅通工程
    codevs 2639 约会计划
  • 原文地址:https://www.cnblogs.com/laokchen/p/13542446.html
Copyright © 2020-2023  润新知