设计模式应用场景
1 Command
创建和执行事务:
实体上的解耦
时间上的解耦
undo方法
2 Active Object模式
该模式与Command模式结合
实现多线程控制的一项古老的技术,为许多工业系统提供了一个简单的多任务核心。
3 TempLate Method 与 Strategy
分离通用算法和具体的上下文
在软件设计中经常会看到这样的需求。我们有一个通用算法。为了遵循依赖倒置原则,我们想确保这个通用算法不要依赖于具体实现。我们想确保这个通用的算法和具体实现都依赖于抽象。
template method 使用继承
其中通用算法被放置在基类中,并且通过继承在不同的具体上下文中实现该通用算法。
Strategy 使用委托
通用算法放置在具体类A中,应用B继承于接口I,并把B传给这个具体类A,A就可以把具体工作委托给这个接口去完成。
4 Facade与Mediator
把某种规约施加到另外一组对象上。
FACADE模式从上面施加规约,而MEDIATOR模式则从下面施加规约。对FACADE模式的使用时可见
且具有强制性的,而对MEDIATOR模式的使用则是隐藏且自用的。