Kotlin和Java建造者模式怎么实现
发表于:2025-12-04 作者:千家信息网编辑
千家信息网最后更新 2025年12月04日,本篇内容主要讲解"Kotlin和Java建造者模式怎么实现",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Kotlin和Java建造者模式怎么实现"吧!指挥
千家信息网最后更新 2025年12月04日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安全错误
数据库的锁怎样保障安全
网络安全认证考试费用
ibm服务器面板指示灯
数据库字段管理
服务器证书未通过验证
软件开发每人每天单价
西藏科技产业互联网发展
医院信息管理数据库企划书
软件开发需要购买什么软件
java软件开发指什么
杭州软件开发平台需要多少钱
服务器托管 服务器配置
河北新一代网络技术创新服务
曙光服务器硬盘亮红灯
闪电网络技术审批
数据库增删改查jsp
福州直播软件开发一个多少钱
数据库for语句的作用
宝可梦不同服务器可以交易精灵吗
贵阳市网络安全应急演练
网络安全失泄密心得
优秀的开源文件服务器
汕头市中道软件开发
苹果网络安全研究人员
ab软件开发
哈尔滨服务器托管如何选择机房
软件开发和维护占用时间
北京oa办公软件开发公司
深珏网络技术有限公司
学习通显示服务器ip
塔式服务器不带显卡吗