Replace Conditional Dispatcher with Command
当使用条件语句,根据不同的条件执行不同的命令,这时可以为每一种命令创建一个Command,将Command存入集合中,
然后将原有条件语句替换为从集合中取出Command并执行。
并不是所有条件语句都需要这样做,在以下两个情况中可以考虑。
1. 需要动态替换命令。
2. 命令语句庞大,逻辑复杂。
Extract Adapter
如果一个Adapter中存在多个版本的adaptee代码,为每一个版本分解出一个Adapter子类
Unify Interfaces with Adapter
用户和两个类打交道,两个类提供类似的功能,但是借口不一样,使用Adapter提供统一的接口