捣鼓了很长时间,终于对建造者模式有初步理解,如今写篇记录下。缘起就是建立的对象比较复杂,需按功能分散。相似造一辆汽车,做为汽车厂家,你须要造车身,造轮胎等,精髓在于领导者(Director),领导者指挥各个部门运行,而后向客户提交整车。css
将一个复杂对象的搭建与他的表示分离,使得一样的构建过程能够建立不一样的表示.html
1: public class PersonDirector {
2: public Person constructPerson(PersonBuilder pb){
3: pb.buildeHead();
4: pb.buildeBody();
5: pb.buildeFoot();
6: return pb.buildePerson();
7: }
8: }
1: public static void main(String[] args) {
2: PersonDirector pd=new PersonDirector();
3: Person person=pd.constructPerson(new ManBuilder());
4: System.out.println(person.getHead()+","+person.getBody()+","+person.getFoot());
5: Person womanPerson=pd.constructPerson(new WomanBuilder());
6: System.out.println(womanPerson.getHead()+womanPerson.getBody()+womanPerson.getFoot());
7: // 男人头,男人身体,男人的脚啊
8: // 女人的头女人的身体女人的脚
9: }