使用 Kotlin 在 Android 中设计模式
设计模式基本上是我们在编程中反复遇到的问题的解决方案或蓝图,因此它们只是我们作为程序员可以遇到的典型问题类型,而这些设计模式只是解决这些问题的好方法,有是android中的很多设计模式。所以基本上,它们分为以下三类:
- 创建模式:您如何创建对象。
- 结构模式:你如何组合对象。
- 行为模式:您如何协调对象交互。
现在我们将讨论您应该知道的最重要的设计模式。
1. 创作模式
这些是处理对象创建机制的设计模式,试图以适合情况的方式创建对象。对象创建的基本形式可能会导致设计问题或增加设计的复杂性。创建型设计模式通过以某种方式控制此对象的创建来解决此问题。这些是属于这一类的设计模式。
- 辛格尔顿
- 建造者
- 依赖注入
- 工厂
让我们快速谈谈它们:
单身人士:
- 单例模式确保只创建一个特定类的对象。所有对单例类对象的进一步引用都指向同一个底层实例。应用程序很少,不要过度使用这种模式。
- 在 Kotlin 中很容易完成,但在Java中则不然。因为在Java中没有单例的本机实现。
Kotlin
object eSingleton {
fun doing() {
// ...
}
}
for accessing member of singleton object you can call like this :
eSingleton.doing()
- 通过使用object ,您将知道您在整个应用程序中使用该类的相同实例。
生成器:
- 构建器模式用于创建具有必须以相同顺序或使用特定算法创建的组成部分的复杂对象。外部类控制构造算法。点击这里
工厂:
- 顾名思义,Factory 负责所有对象创建逻辑。在这种模式中,工厂类控制要实例化的对象。在处理许多常见对象时,工厂模式会派上用场。您可以在您可能不想指定具体类的地方使用它。点击这里
依赖注入:
- 依赖注入就像搬进带家具的公寓。你需要的一切都已经在那里了。您无需等待家具交付或按照宜家的说明组装 Borgsjö 书架。
- 在软件方面,依赖注入让您提供任何必需的对象来实例化新对象。这个新对象不需要自己构造或自定义对象。
- 在 Android 中,您可能会发现您需要从应用程序中的各个点访问相同的复杂对象,例如网络客户端、图像加载器或用于本地存储的 SharedPreferences。您可以将这些对象注入到您的活动和片段中并立即访问它们。
- 目前,依赖注入主要有三个库:Dagger '2'、Dagger Hilt 和 Koin。
2. 结构模式
这些设计模式都是关于类和对象的组合。结构类创建模式使用继承来组合接口。结构对象模式定义了组合对象以获得新功能的方法。
- 正面
- 适配器
- 装饰器
- 合成的
- 保护代理
立面:
- 外观模式用于定义更复杂子系统的简化接口。
适配器:
- 适配器模式用于通过使用支持客户端所需接口的类包装“适配器”来提供两种不兼容类型之间的链接。
装饰者:
- 装饰器模式用于通过将对象包装在装饰器类的对象中来在运行时扩展或更改对象的功能。这为使用继承来修改行为提供了一种灵活的替代方法。
复合:
- 复合模式用于组合零个或多个相似对象,以便可以将它们作为一个对象进行操作。
保护代理:
- 代理模式用于提供代理或占位符对象,它引用底层对象。保护代理正在限制访问。
3. 行为模式
- 命令
- 观察者
- 战略
- 状态
- 游客
- 调解员
- 纪念
- 责任链
命令:
- 命令模式用于在命令对象中表达请求,包括要进行的调用及其所有必需的参数。然后可以立即执行该命令或保留该命令以供以后使用。
观察员:
- 观察者模式用于允许对象发布对其状态的更改。其他对象订阅以立即收到任何更改的通知。
策略:
- 策略模式用于创建可互换的算法族,在运行时从中选择所需的进程。
状态:
- 状态模式用于随着对象内部状态的变化而改变对象的行为。该模式允许对象的类在运行时明显改变。
访客:
- 访问者模式用于将一组相对复杂的结构化数据类与可能对它们持有的数据执行的功能分开。
调解员:
- 中介者设计模式用于在系统中的不同对象之间提供集中的通信媒介。这种模式在多个对象相互交互的企业应用程序中非常有用。
纪念品:
- 备忘录模式是一种软件设计模式,它提供了将对象恢复到其先前状态(通过回滚撤消)的能力。
责任链:
- 责任链模式用于处理不同的请求,每个请求可能由不同的处理程序处理。