说明:感觉比较复杂,需要命令管理,命令,接收者,发送者来完成。而且单看,命令和接收者是绑定的。感觉要整个系统需要命令式管理才能起到很好效果
场景: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();//老板叫员工去干活,至于干什么,看命令才知道 } }