java设计模式---构建者模式
来源:互联网 发布:激光去黑眼圈 知乎 编辑:程序博客网 时间:2024/05/29 14:27
创建者模式和工厂模式有点类似,不过关注点不同。工厂模式往往只关心你要的是什么,二不关心这个东西的具体细节是什么。而创建模式则关心的是这个东西的具体细节的创建。拿创建人物来说,我们关心的不仅是创建一个人物,还要关心他的性别,肤色和名字,则可以使用创建者模式:
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设计模式》之构建者模式
- Java设计模式之构建者模式
- JAVA设计模式------构建者模式
- JAVA设计模式之——构建者设计模式
- 《设计模式》-- 构建者模式
- [设计模式] 构建者模式
- 设计模式-构建者模式
- 设计模式--构建者模式
- Java设计模式--构建者模式(Builder)
- java设计模式学习笔记-构建模式
- java 设计模式:构建器模式
- 设计模式-构建模式
- 设计模式学习之构建者模式
- 设计模式之构建者模式
- 设计模式之构建者Builder模式
- 设计模式——构建者模式
- APP 原型工具:Balsamiq Mockups
- mRemote Alternative
- vs2010连接mysql数据库进行增删改查操作
- 通过快速跟进与赶工追回项目进度
- VS2010添加配置文件
- java设计模式---构建者模式
- php基础注意点
- [036] 微信公众帐号开发教程第12篇-符号表情的发送(下)
- 如何让service被管理器杀死后自动重启
- mRemoteNG 连接Windows远程桌面
- JAVA自学之路 —— 马士兵作~ make
- Hibernate之one-to-many
- 编辑距离、拼写检查与度量空间:一个有趣的数据结构
- linux ip&dns&ssh 配置