标签:alt audio margin else pre exec and dos none
if (type == a) { do_a() } else if (type == b) { do_b() } else if (type == c) { do_c() } ...
这样的代码是非常繁杂且高耦合的,所以需要一种模式优化掉它。
所以,命令模式,要做的就是,将行为封装成对象,以解决这个问题。
命令模式:
将请求(行为)封装成对象,以便使用不同的请求、队列或者日志参数化其他对象,可支持可撤销操作。
首先,应该定义命令接口。
public interface Command { public void execute(); }
如果这一系列命令都需要撤销操作,可以再定义一个undo方法。
然后,子类通过实现这个接口,构成不同的命令。
public class TestCommand { public void execute() { doSomething(); } }
最后,调用者通过传入Command对象,实现调用。
标签:alt audio margin else pre exec and dos none
原文地址:https://www.cnblogs.com/tomoka/p/10985661.html