-
Notifications
You must be signed in to change notification settings - Fork 271
11. 委派模式
Landy.Liu edited this page May 18, 2019
·
1 revision
不属于23种设计模式之一,是面向对象设计模式中常用的一种模式,有点像静态代理模式,又有点像策略模式,它是两种设计模式的组合体,常见于Spring源码的实现中。
- 持有被委托人的引用,只关心结果,不关心过程。
- 相当于静态代理中的特殊情况,全权代理
- 代理模式注重的是过程,委派模式注重的是结果
- 策略模式注重是可扩展(外部扩展),委派模式注重内部的灵活和复用
- 委派的核心:就是分发、调度、派遣
这种模式的原理为类B和类A是两个互相没有任何关系的类,B具有和A一模一样的方法和属性;并且调用B中的方法,属性就是调用A中同名的方法和属性。B好像就是一个受A授权委托的中介。第三方的代码不需要知道A的存在,也不需要和A发生直接的联系,通过B就可以直接使用A的功能,这样既能够使用到A的各种功能,又能够很好的将 A 保护起来了,一举两得。
项目经理:在老板眼里,他只负责干活,实际上是做类似于调度的工作,任务分配等。
重要特征:项目经理在分配任务之前,需要做一个权衡,类似于策略模式。
在Spring中,以Delegate结尾的类,以Dispatcher结尾的类基本上都是委派模式实现。
SegmentFault: https://segmentfault.com/u/landy8530
简书:https://www.jianshu.com/u/36a7d3a994ac
CSDN:https://blog.csdn.net/landy8530
开源中国:https://my.oschina.net/landy8530
微信公众号:蚂蚁与咖啡的故事