Java设计模式之创建者模式简介
更新时间:2014年07月29日 15:27:09 投稿:shichen2014
这篇文章主要介绍了Java设计模式之创建者模式,需要的朋友可以参考下
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();
}
}
相关文章
sqlite数据库的介绍与java操作sqlite的实例讲解
今天小编就为大家分享一篇关于sqlite数据库的介绍与java操作sqlite的实例讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧2019-02-02
springboot websocket集群(stomp协议)连接时候传递参数
这篇文章主要介绍了springboot websocket集群(stomp协议)连接时候传递参数,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2019-07-07
IntelliJ IDEA快速查询maven依赖关系图文教程
Maven提供了来查看依赖关系,而IDE往往提供了更加便利的方式,比如Eclipse或者IDEA都有类似的功能,下面这篇文章主要给大家介绍了关于IntelliJ IDEA快速查询maven依赖关系的相关资料,需要的朋友可以参考下2023-11-11
详解mybatis-plus使用@EnumValue注解的方式对枚举类型的处理
这篇文章主要介绍了详解mybatis-plus使用@EnumValue注解的方式对枚举类型的处理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-12-12


最新评论