浅谈Kotlin解析之设计模式

设计模式是我们Android成长之路必备的一项技能,相信很多同学都已经Get了,现在让我们来看看在Kotlin中设计模式是如何表达的呢。
###二、单例模式
单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中一个类只有一个实例 。

使用场景: 确保某个类有且只有一个对象的场景,避免产生多个对象消耗过多的资源

  • Java单例模式回顾
  • 懒汉式:

饿汉式:

Kotlin单例模式写法

kotlin写法是不是简单直接越看越喜欢,一句话就概括了。

来看一下官方的说明

在 Kotlin 当中直接通过关键字 object 声明一个单例,并且它是线程安全的,并且object 声明的方式也是延迟加载的。

###三、代理模式(委托模式)

代理模式是为其他对象提供一种代理以控制对这个对象的访问

代理模式是使用一个代理对象来访问目标对象的行为,Kotlin 下的实现与 Java 基本类似

抽象类

被代理类



代理类

调用

通过代理模式可以把复杂的判断和生成通知的逻辑都屏蔽了,让代码更加清晰
###四、建造者模式

建造者模式是将一个复杂对象的构建和它的表示分离,使得同样的构建过程可以创建不同的表示

比如我们常用的 AlertDialog 、universal-image-loader就是使用的建造者模式,让我们看看kotlin中该怎么表达


使用方法与Java一样

其实Kotlin 的 apply 扩展原生也支持 Builder 模式

###五、观察者模式

观察者模式是定义对象间的一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新

常见的观察者模式如RecyclerView的Adapter的notifyDataSetChanged更新方法、BroadcastReceiver、开源库EventBus、RxJava等等

Kotlin的写法与Java类似

通过UnReadMessageObserver 单例来实现全局观察管理未读消息

被观察者

观察者

观察者模式是我们经常使用的模式,它的一个重要作用就是解耦,将观察者个被观察者解耦
###六、适配器模式

1.适配器模式把一种接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作
2.举个栗子:手机普通充电需要5V的电压,而生活用电电压是220V,而我们的充电器就充当了转换适配的作用,
3.这里的适配器也是一个道理
4.适配器模式中的目标接口也就是 5V电压的接口


适配器模式中需要被适配的接口,日常220V电压

最后

愿你有一天,真爱自己,善待自己。
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!
动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!**

  • 25
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值