java设计模式---构建者模式
创建者模式和工厂模式有点类似,不过关注点不同。工厂模式往往只关心你要的是什么,二不关心这个东西的具体细节是什么。而创建模式则关心的是这个东西的具体细节的创建。拿创建人物来说,我们关心的不仅是创建一个人物,还要关心他的性别,肤色和名字,则可以使用创建者模式:
package builder;/*** * DOC 种族角色* */
public class Race {private String name;// 名字private String skinColor;// 肤色private String sex;// 性别public String getName() {return this.name;}public void setName(String name) {this.name = name;}public String getSkinColor() {return this.skinColor;}public void setSkinColor(String skinColor) {this.skinColor = skinColor;}public String getSex() {return this.sex;}public void setSex(String sex) {this.sex = sex;}}
package builder;/*** * DOC 我们关心的不仅仅是创建一个人物,还要关心其特征的创建* */
public class RaceBuilder {private Race race;/*** DOC 创建一个种族* * @return*/public RaceBuilder builder() {this.race = new Race();return this;}/*** DOC 取名字* * @return*/public RaceBuilder setName(String name) {this.race.setName(name);return this;}/*** DOC 选择性别* * @return*/public RaceBuilder setSex(String sex) {this.race.setSex(sex);return this;}/*** DOC 选择肤色* * @return*/public RaceBuilder setSkinColor(String skinColor) {this.race.setSkinColor(skinColor);return this;}/*** * DOC 返回这个创建好的种族* * @return*/public Race create() {return this.race;}
}
测试类:
package builder;public class Main {public static void main(String[] args) {Race race = new RaceBuilder().builder().setName("张三").setSex("男").setSkinColor("白色").create();}}
java设计模式---构建者模式相关推荐
- Java设计模式(建造者模式-适配器模式-桥接模式)
Java设计模式Ⅲ 1.建造者模式 1.1 建造者模式概述 1.2 建造者模式的注意事项和细节 1.3 代码理解 2.适配器模式 2.1 类适配器模式 2.1.1 代码理解 2.2 对象适配器模式 2 ...
- 折腾Java设计模式之建造者模式
博文原址:折腾Java设计模式之建造者模式 建造者模式 Separate the construction of a complex object from its representation, a ...
- java设计模式 建造模式_理解java设计模式之建造者模式
理解java设计模式之建造者模式 发布于 2020-12-10| 复制链接 摘记: 建造者模式(Builder Pattern)主要用于"分步骤构建一个复杂的对象",在这其中&qu ...
- Java设计模式之Builder模式
Java设计模式之Builder模式 Java设计模式之Builder模式 简介 适用性 用LOL的出装备的顺序为例 基本实现代码 BasePerson的实现 DeMaXiYa的实现 QiTianDa ...
- Java 设计模式之Builder模式
设计模式系列 创建型设计模式 Java 设计模式之单例模式 Java 设计模式之静态工厂方法模式 Java 设计模式之工厂方法模式 Java 设计模式之抽象工厂模式 Java 设计模式之Builder ...
- java 设计模式之解释器模式(十九)
java 设计模式之解释器模式①⑨ 定义 角色分析 使用场景 代码实现 躁动的心灵,不安的灵魂.在彷徨中挣扎,在迷失中探索.时光飞逝,努力不变. 设计模式学习,近期我会把23种设计模式都写成博客,敬请 ...
- java设计模式之组合模式(树形层级)
java设计模式之组合模式 学习难度:★★★☆☆,使用频率:★★★★☆] 树形结构在软件中随处可见,例如操作系统中的目录结构.应用软件中的菜单.办公系统中的公司组织结构等等,如何运用面向对象的方式来 ...
- java设计模式之建造者模式(UML类图分析+代码详解)
大家好,我是一名在算法之路上不断前进的小小程序猿!体会算法之美,领悟算法的智慧~ 希望各位博友走过路过可以给我点个免费的赞,你们的支持是我不断前进的动力!! 加油吧!未来可期!! 本文将介绍java设 ...
- JAVA设计模式之建造者模式
转自 JAVA设计模式之建造者模式 建造者模式(Builder)的定义 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示. Builder模式是一步一步创建一个复杂对象的创建型 ...
最新文章
- AC日记——Red and Blue Balls codeforces 399b
- 大厂php怎么做前端,大厂前端经典面试问题精选(附答案)
- 个人喜欢的关于模式识别、机器学习、推荐系统、图像特征、深度学习、数值计算、目标跟踪等方面个人主页及博客
- 计算机网络按信号频带占用方式分为,《计算机网络及组网技术》第2阶段测试题....
- 【深度学习】一文详解RNN及股票预测实战(Python)!
- Spring和SpringMVC的区别
- linux下使用VS CODE + CMAKE 调试C++程序
- 【机器学习】逻辑回归小结
- 枚举型是什么类型_金属缠绕垫片如何选用?A、B、C、D型都是什么类型?
- Ubuntu远程操作Linux服务器GUI程序
- 用Golang构建gRPC服务
- 复制网页中的表格格式后导入到excel、markdown、数据库、json中,并转换表格格式
- rem单位中html默认字号,轻松掌握CSS3中的字体大小单位rem的使用方法
- 发动机冒黑烟_挖掘机冒黑烟,是怎么回事?
- HDU 5863 cjj's string game ( 16年多校10 G 题、矩阵快速幂优化线性递推DP )
- 设置内核的运行环境之隔离的应用程序
- WidsMob ImageConvert for Mac(图片格式转换器)
- 不能创建对象qmdispatch_按键精灵更新时提示 ActiveX 部件不能创建对象 错误代码 800a01ad_电脑故障...
- LuoguP4568 分层图
- log4j2配置详解及自定义Appender
热门文章
- linux下短链接出现TIME_WAIT耗尽端口号的解决方法
- 一个通俗易懂的HMM例子
- 设置/修改centos上的swap交换分区的方法
- [LeetCode] Maximum Subarray
- android 牛人必修 ant 编译android工程
- 数据库-ADONET-使用强类型DataSet
- 【转载】Hadoop 2.7.3 和Hbase 1.2.4安装教程
- IDEA常用快捷键整理
- 利用samba和mount命令 进行文件共享
- 升级PHP到5.3.3的过程及注意事项