这篇文章给大家介绍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中怎么实现创建者模式就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。