本文已使用 Google Cloud Translation API 自动翻译。
某些文档最好以原文阅读。
Builder 模式是一种创建型设计模式,允许使用清晰的语法构造复杂的对象。它经常与工厂方法模式结合使用。
当您需要创建具有许多不同字段的复杂对象时,Builder 模式是一个不错的选择。 Builder 模式允许您逐步创建这些对象,而无需编写大量代码。
在 Kotlin 中,Builder 模式通常用于创建数据类。数据类是只包含数据而没有任何行为的类。它们通常用于存储从文件或数据库中读取的数据。
数据类通常使用数据类关键字创建。但是,如果您需要创建一个包含很多字段的数据类,则 data class 关键字会变得非常冗长。在这种情况下,Builder 模式可用于创建数据类。
当您需要创建不可变对象时,构建器模式也很有用。不可变对象是创建后不能修改的对象。它们通常用于存储不应更改的数据,例如配置数据。
Kotlin 标准库包含许多用于创建不可变对象的有用函数。例如,可以使用 toImmutableList() 函数从可变列表创建不可变列表。
要使用构建器模式,您需要创建一个包含多个字段的类。这些字段将由构建器设置。该类还需要包含一个将构建器作为参数的构造函数。
构建器是一个单独的类,其中包含用于设置对象字段的方法。构建器还有一个创建对象的方法。此方法采用所有已设置的字段并创建对象的实例。
下面是一个使用 Builder 模式的数据类的例子:
数据类用户(
验证名称:字符串,
值: Int,
有效地址:字符串
) {
类生成器 {
变种名称:字符串=“”
变量年龄:Int = 0
变种地址:字符串=“”
有趣的构建():用户{
返回用户(姓名,年龄,地址)
}
}
}
如您所见,User 类包含三个字段。这些字段由构建器设置。该类还包含一个将构建器作为参数的构造函数。
构建器是一个单独的类,其中包含用于设置对象字段的方法。构建器还有一个创建对象的方法。此方法采用所有已设置的字段并创建对象的实例。
要使用构建器模式,您首先需要创建一个构建器。您可以使用 builder() 函数来执行此操作:
val user = User.Builder().apply {
名字=“约翰”
年龄 = 30
地址=“伦敦”
}。建造()
builder() 函数创建一个新的构建器对象。 apply() 函数用于调用构建器对象上的方法。在这种情况下,这些方法用于设置用户对象的字段。
最后,调用 build() 方法创建 User 对象。构建器创建的用户对象是不可变的。
Builder 模式是一种用清晰的语法创建复杂对象的有用方法。当您需要创建不可变对象时,它也是一个不错的选择。