网络知识 娱乐 七爪源码:生成器设计模式

七爪源码:生成器设计模式

构建器模式试图将复杂对象的构造与其表示分离,以便相同的构造过程可以创建不同的表示。 它用于逐步将复杂的对象组合在一起,完成该过程将返回对象。 构建对象应遵循一般方法。 这样可以使用它来制作同一对象的多个表示。

七爪源码:生成器设计模式

Builder设计模式的优势

  • 它在对象的生产和表现之间提供了明显的划分。
  • 可以更有效地管理构建过程。
  • 它可以改变对象的内部表示方式。

让我们看一个编码示例:


Employee.java

public class Employee {n private String name;n private int age;n private String address;n private int idNumber;n private String position;n public Employee(String name, int age, String address, int idNumber, String position) {n super();n this.name = name;n this.age = age;n this.address = address;n this.idNumber = idNumber;n this.position = position;n }n @Overriden public String toString() {n n return "Employee [name=" + name + ", age=" + age + ", address=" + address + ", idNumber=" + idNumber+ ", position=" + position + "]";n }}


EmployeeBuilder.java

public class EmployeeBuilder {n private String name;n private int age;n private String address;n private int idNumber;n private String position;n public EmployeeBuilder setName(String name) {n this.name = name;n return this;n }n public EmployeeBuilder setAge(int age) {n this.age = age;n return this;n }n public EmployeeBuilder setAddress(String address) {n this.address = address;n return this;n }n public EmployeeBuilder setIdNumber(int idNumber) {n this.idNumber = idNumber;n return this;n }n public EmployeeBuilder setPosition(String position) {n this.position = position;n return this;n }n public Employee getEmployee() {n return new Employee(name,age,address,idNumber,position);n }}


AddEmployee.java

public class AddEmployee {n public static void main(String[] args) {n // Employee emp = new n Employee("Kishara",24,"kottawa",55536,"HRManager");n Employee emp = newn EmployeeBuilder().setName("Kishara").setAge(24).getEmployee();n System.out.println(emp);n }}


输出:

Employee [name=Kishara, age=24, address=null, idNumber=0, position=null]


感谢您的阅读! 如果你喜欢,请留下一个掌声并关注我的页面。

关注七爪网,获取更多APP/小程序/网站源码资源!