设计模式之委托模式
首先我们需要知道,在实际开发中,往往并不会完全固定的遵循某一类设计模式,而是参照多种设计模式,基本原则,进行特定的设计。所以我们在实际中可以同时在代码中看见多种设计模式的影子,并且很难完全区分使用的是某一种特定的设计模式。
# 基本概念
委托: Delegete ,也叫作委派。
委托模式是软件设计模式中的一项基本技巧。在委托模式中,有两个对象参与处理同一个请求,接受请求的对象将请求委托给另一个对象来处理。
委派模式不属于23种gof,委派模式就是将一个类下达的任务交给另外一个类去做,双亲委派机制其实就是这个道理,当某个类加载器需要执行某个类时先交给父类看父类是否能够执行。
# 解释
委托模式是一项基本技巧,许多其他的模式,如 状态模式、策略模式、访问者模式 本质上是在更特殊的场合采用了委托模式。
委托模式使得我们可以用聚合来替代继承,它还使我们可以模拟mixin。
委托是指在一个类中包含了其它的类或者接口,通过这借助多态,实现一些动态行为,委托只能算是设计模式中的一部分,代理中有用到委托的,在策略模式中也可能会用到。
# 委派模式的作用:
基本作用就是负责任务的调用和分配任务
# 和策略模式的对比
策略模式在实际业务开发中,采用的实际上就是有委派的影子,可以看做一种特定场景的实现。
委派模式不仅仅在策略模式中体现,双类加载亲委派机制这种也是委派。
代理模式也是一种委派的实现。
# 经验
一般Delegate,Dispatcher结尾的都是委派。
# 总结
总而言之:只要不是自己去做实际的事情,是加上都包含了委托/委派的基本思想。 这也是为什么委派模式十分常见但却不在23种设计模式之中的一个原因。
# 扩展
许多编程语言,编程框架都有专门的Delegete,可以进一步对比学习了解
比如C#,Kotlin
更新时间: 12/4/2022, 6:55:46 PM