当前位置: 首页 > 编程笔记 >

Java设计模式之创建者模式简介

谭宏盛
2023-03-14
本文向大家介绍Java设计模式之创建者模式简介,包括了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();
  }
}
 类似资料:
  • 介绍 在软件系统中,有时候面临着“一个复杂对象”的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组合在一起的算法确相对稳定。如何应对这种变化?如何提供一种“封装机制”来隔离出“复杂对象的各个部分”的变化,从而保持系统中的“稳定构建算法”不随着需求改变而改变?这就是要说的建造者模式。 建造者模式可以将一个复杂对象的构建与其表

  • 本文向大家介绍Java设计模式之建造者模式(Builder模式)介绍,包括了Java设计模式之建造者模式(Builder模式)介绍的使用技巧和注意事项,需要的朋友参考一下 Builder模式定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 Builder模式是一步一步创建一个复杂的对象,它允许用户可以只通过指定复杂对象的类型和内容就可以构建它们。用户不知道内部的具体

  • 本文向大家介绍Java设计模式之中介者模式(Mediator Pattern)简介,包括了Java设计模式之中介者模式(Mediator Pattern)简介的使用技巧和注意事项,需要的朋友参考一下 Java设计模式的中介者模式是行为模式之一。定义一个中介对象来封装系列对象之间的交互。中介者使各个对象不需要显式地相互引用,从而使其耦合性松散,并且可以独立地改变他们之间的交互。 如下图所示: 生产者

  • 本文向大家介绍java设计模式之观察者模式,包括了java设计模式之观察者模式的使用技巧和注意事项,需要的朋友参考一下         观察者模式又称发布-订阅(Publish/Subscribe)模式,定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使他们能够自动更新自己。将一个系统分割成一系列相互协作的类有一个很不好的副作

  • 介绍 中介者模式(Mediator),用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。 主要内容来自:http://www.addyosmani.com/resources/essentialjsdesignpatterns/book/#mediatorpatternjavascript 正文 软件开发中,中介者是一个行

  • 本文向大家介绍JavaScript设计模式之建造者模式介绍,包括了JavaScript设计模式之建造者模式介绍的使用技巧和注意事项,需要的朋友参考一下 建造者模式说明 1. 将一个复杂对象的 构造 与它的表示相分离,使同样的创建过程可有不同的表示,这就叫做建造者模式。 2. 面向对象语言中的说明,主要角色: 1>. Builder 这个接口类,定义这个建造者[工人],统一的可操作的行为方式,它表示