Kotlin和Java建造者模式怎么实现
发表于:2025-02-08 作者:千家信息网编辑
千家信息网最后更新 2025年02月08日,本篇内容主要讲解"Kotlin和Java建造者模式怎么实现",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Kotlin和Java建造者模式怎么实现"吧!指挥
千家信息网最后更新 2025年02月08日Kotlin和Java建造者模式怎么实现
本篇内容主要讲解"Kotlin和Java建造者模式怎么实现",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Kotlin和Java建造者模式怎么实现"吧!
指挥者(Director)直接和客户(Client)进行需求沟通;
沟通后指挥者将客户创建产品的需求划分为各个部件的建造请求(Builder);
将各个部件的建造请求委派到具体的建造者(ConcreteBuilder);
各个具体建造者负责进行产品部件的构建;
最终构建成具体产品(Product)。
建造模式很简单,一组装电脑为例,由于电脑元件一般不会发生太大的改变,但电脑组装是一个复杂的过程。
UML图:
1.创建建造请求
abstract class Builder { //第一步:装CPU //声明为抽象方法,具体由子类实现 abstract fun buildCPU() //第二步:装主板 //声明为抽象方法,具体由子类实现 abstract fun buildMainboard() //第三步:装硬盘 //声明为抽象方法,具体由子类实现 abstract fun buildHD() //返回产品的方法:获得组装好的电脑 abstract fun getComputer(): Computer}
2.将建造请求委派到建造者进行实现
class ConcreteBuilder : Builder() { //创建产品实例 private var computer = Computer() //组装产品 override fun buildCPU() { computer.add("组装CPU") } override fun buildMainboard() { computer.add("组装主板") } override fun buildHD() { computer.add("组装硬盘") } //返回组装成功的电脑 override fun getComputer(): Computer { return computer }}
3.指挥组装元件
class Director { //指挥装机人员组装电脑 fun construct(builder: Builder) { builder.buildCPU() builder.buildMainboard() builder.buildHD() }}
4.定义具体产品类(Product):电脑
class Computer { //电脑组件的集合 privateval parts = ArrayList() //用于将组件组装到电脑里 fun add(part: String) { parts.add(part) } fun show() { for (i in parts.indices) { println("组件" + parts[i] + "装好了") } println("电脑组装完成,请验收") }}
客户端调用
object BuilderTest { @JvmStatic fun main(args: Array) { //逛了很久终于发现一家合适的电脑店 //找到该店的老板和装机人员 val director = Director() val builder = ConcreteBuilder() //沟通需求后,老板叫装机人员去装电脑 director.construct(builder) //装完后,组装人员搬来组装好的电脑 val computer = builder.getComputer() //组装人员展示电脑给小成看 computer.show() }}
结果输出
每一个具体建造者都相对独立,而与其他的具体建造者无关,因此可以很方便地替换具体建造者或增加新的具体建造者,用户使用不同的具体建造者即可得到不同的产品对象。
到此,相信大家对"Kotlin和Java建造者模式怎么实现"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
电脑
产品
人员
方法
模式
指挥
子类
客户
组件
部件
需求
不同
主板
元件
内容
指挥者
电脑组装
硬盘
组装电脑
老板
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全中心图片
必联网路由器服务器
数据库和schema关系图例
服务器的安装流程
连接数据库属于tcp协议吗
农信银网络安全培训
查询数据库最晚入职的员工
sftp登录服务器配置
我的世界战堂服务器的ip
崂山区分销软件开发系统
怎么隐藏服务器真实ip
数据库漏洞验证
《数据库原理及技术》
数据安全级别与标记数据库字段
当网络技术顾问
陈子雄 工信部 网络安全
网络安全千峰教育
网络安全产品中心
学计算机网络技术需要数学基础吗
昭丰互联网科技
服务器内存4r4和2r4哪个好
神州数码服务器bios密码
保定卓尚软件开发有限公司
网络安全协议王清贤
软件开发男士职业装
昆明软件开发教育培训
福州数据库培训学费
wamp的数据库设置密码
竞标软件开发
戴尔服务器740安装显卡