当前位置: 移动技术网 > IT编程>开发语言>Java > Java设计模式之创建者模式简介

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

2019年07月22日  | 移动技术网IT编程  | 我要评论

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();
  }
}

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网