构造者(Builder)模式
2017-09-03 23:03
267 查看
1:创建一个类
public class Student { private int id; private String name; private String passwd; private String sex; private String address; public Student(int id, String name, String passwd, String sex, String address) { this.id = id; this.name = name; this.passwd = passwd; this.sex = sex; this.address = address; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } }
这时我们需要去创建这个类时,就得
public static void main(String[] args) { Student student = new Student(1, "jacob", "123", "男", "fj"); }
缺点:当我们的参数很多的时候,我们去创建这个类时,需要去传参,这时就很容易出现,不知道具体传哪个参数,这类问题
2:构造者模式
public class Student { public int id; public String name; public String passwd; public String sex; public String address; //私有化 private Student(){} //私有化 private Student(Student targer) { this.id = targer.id; this.name = targer.name; this.passwd = targer.passwd; this.sex = targer.sex; this.address = targer.address; } public static class Builder{ private Student targer; public Builder() { targer = new Student(); } public Builder setId(int id){ targer[/b].id = id; return this; } public Builder setName(String name){ targer.name = name; return this; } public Builder setPasswd(String passwd){ targer.passwd = passwd; return this; } public Builder setSex(String sex){ targer.sex = sex; return this; } public Builder setAddress(String address){ targer.address = address; return this; } public Student build(){ return new Student(targer); } } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } }当我们去创建这个类时就变成:
public static void main(String[] args) { Student build = new Builder() .setId(1) .setName("jacob") .setPasswd("123") .setSex("男") .setAddress("fj") .build(); }
这样我们在创建这个类的时候,就可以清晰的看到我们具体传的是哪一些参数,但是缺点也很明显,比较的冗长
相关文章推荐
- Builder 创建者模式 构造者模式
- Builder构造者设计模式
- 创建模式-构造者/生成器模式(Builder)
- Net框架中的设计模式之Builder(构造者)--兼谈抽象工厂和composite模式
- Net框架中的设计模式之Builder(构造者)--兼谈抽象工厂和composite模式
- Net框架中的设计模式之builder(构造者)
- 构造者模式(Builder)
- Java设计模式——构造者模式(Builder)
- IOS设计模式浅析之建造者模式(Builder)
- Builder模式在Java中的应用
- Builder模式在Java中的应用(转)
- 创建型模式3:建造者模式(Builder Pattern)
- 设计模式--建造者模式(Builder)
- Builder模式在Java中的应用
- 【设计模式】 建造者模式(Builder Pattern)- 最易懂的设计模式解析
- C#设计模式(5)——建造者模式(Builder Pattern)
- builder模式
- 设计模式:构建器模式(Builder)
- 设计模式之Builder
- 【二】设计模式——建造者模式(Builder Pattern)