前言
kotlin的委托模式其实就是Java的代理模式,是软件设计模式中的一项基本技巧。不管是代理还是委托都是可以从字面意思中理解,将一个"A对象"需要完成的工作交由另一位"B对象"完成.
这里对代理模式理解不深刻的人,就会有疑问了,为什么在代码里不直接让A对象完成工作呢? 为什么要绕圈圈给B对象完成呢?
原因如下:
1.委托或者代理设计后,A对象可以保持代码上的简洁性,只需要关注提供什么与获取什么. 具体复杂的处理与数据组装工作流程可以隐藏在B对象里.
2.以一个不变的A对象,去请求多种代理. 就好比同样使用鸡蛋与面粉, B工厂可以生产蛋挞, 而C工厂可以生产面包. 而我们A店面统一将获取的产品称为面点类食品,并且保持A店面的干净简洁.
Kotlin 直接支持委托模式,更加优雅,简洁。Kotlin 通过关键字 by 实现委托。
在此篇模块里介绍了java的静态与动态代理: https://www.cnblogs.com/guanxinjing/p/14070749.html
类委托
属性委托