当用来实例化一个类的数据和代码在多个类中处处都是时,能够将有关建立的知识搬移到一个Factory中 java
(针对一个类) this
只有确实改进了代码设计,或者没法直接进行实例化时才有足够的理由进行Factory重构 设计
public class Person { private String name; private String phone; private String car; private String house; public Person(String name, String phone, String house, String car){ this.name = name; this.phone = phone; this.house = house; this.car = car; } }
public class PersonFactory { public Person createPoorPerson(String name){ return new Person(name, null, null, null); } public Person createPersonWithPhone(String name, String phone){ return new Person(name, phone, null, null); } public Person createPersonWithPhoneCar(String name, String phone, String car){ return new Person(name, phone, null, car); } public Person createRichPerson(String name, String phone, String house, String car){ return new Person(name, phone, house, car); } }