访问者模式 .link
双重分派机制
通过同一个函数,对不同的类型,进行相应对处理,使结构更加清晰、灵活性更高
优点:
- 增加访问者非常容易
- 各角色职责分离,符合单一职责原则
- 具有优秀的扩展性
- 使得数据结构和作用于结构上的操作解耦,使得操作集合可以独立变化
- 灵活性
缺点:
- 具体元素对访问者公布细节,违反了迪米特原则
- 具体元素变更时导致修改成本大
- 违反了依赖倒置原则,为了达到“区别对待”而依赖了具体类,没有依赖抽象
命令模式
行为型模式
将一个请求封装成一个对象,从而使你可用不同的请求对客户进行参数化,对请求排队或记录请求日志,以及支持可撤销的操作。