引入
在之前的文章中我们介绍了常见的设计模式,今天我们来使用 Java 语言对建造者模式进行具体实现举例。
实例
在下面的例子中,我们使用建造者模式来对 Person 类的实例化进行了改装,使其能够以链式调用的形式创建对象。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
|
public class Builder { public static void main(String[] args) { Person person1 = new Person("张三", 18, "男", null); Person person2 = Person.builder() .name("李四") .age(18) .gender("男") .build(); } }
class Person { private String name; private int age; private String gender; private String address;
public Person(String name, int age, String gender, String address) { this.name = name; this.age = age; this.gender = gender; this.address = address; }
public static PersonBuilder builder() { return new PersonBuilder(); }
static class PersonBuilder { private String name; private int age; private String gender; private String address;
public PersonBuilder name(String name) { this.name = name; return this; } public PersonBuilder age(int age) { this.age = age; return this; } public PersonBuilder gender(String gender) { this.gender = gender; return this; } public PersonBuilder address(String address) { this.address = address; return this; }
public Person build() { return new Person(name, age, gender, address); } } }
|