委托的定义
委托模式也叫代理模式,是最常用的设计模式的一种。在委托模式中,有两个对象参与处理同一个请求,接受请求的对象将请求委托给另一个对象来处理。委托模式已证明是实现继承的一个很好的替代方式。
委托在C#中是一个语言级特性。在Kotlin 也直接支持委托模式,更加优雅,简洁。Kotlin 通过关键字 by 实现委托。
Kotlin中委托分为类委托和委托属性,Kotlin官方库也封装了一些常用的委托。
委托类
假如有如下场景,“大头儿子和小头爸爸都会洗碗,围裙妈妈让小头爸爸洗碗的时候,小头爸爸就让大头儿子洗碗,然后会在大头儿子洗碗之前,叮嘱大头儿子洗碗小心一点,在大头儿子洗碗之后,检查大头儿子洗碗洗干净没有”。
Java语言的代理模式实现
如果用java语言的代码模式去实现,可以这样做,参考代码:
![](https://img.haomeiwen.com/i7368752/40077e17b3738b2f.png)
![](https://img.haomeiwen.com/i7368752/430de42ba1ae0e32.png)
Kotlin语言的委托模式实现
如果用kotlin语言的代码模式去实现,可以这样做,参考代码:
![](https://img.haomeiwen.com/i7368752/a02cc66c6e8819dd.png)
![](https://img.haomeiwen.com/i7368752/3303c0f2eecf0a63.png)
对比以上代码以上代码,我们可以看出【Kotlin相比于Java,实现委托代理模式,更加简洁、优雅】
网友评论