搗鼓了很長時間,終於對建造者模式有初步理解,如今寫篇記錄下。緣起就是建立的對象比較複雜,需按功能分散。相似造一輛汽車,做爲汽車廠家,你須要造車身,造輪胎等,精髓在於領導者(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: }