當我們使用抽象工廠時,在客戶端進行呼叫的時候,如果產品的類別比較多,那麼此時工廠返回的例項物件將會很多。
客戶端得**將會大大增加,這將不利於程式的可讀性。為了解決此類問題,可以把所有例項的建立放在乙個類中去生成,
這樣在客戶端只需要呼叫這個建立者類,大大減少客戶端的**量。
1,所有動物類的介面
package joeho.net.csdn.blog.builder;
public inte***ce animal
2,老虎類
package joeho.net.csdn.blog.builder;
public class tiger implements animal
public void eat()
}3,海豚類
package joeho.net.csdn.blog.builder;
public class doiphin implements animal
public void eat()
}4,鸚鵡類
package joeho.net.csdn.blog.builder;
public class parrot implements animal
public void eat()
}5,亞洲老虎類繼承自老虎類
package joeho.net.csdn.blog.builder;
public class asiatiger extends tiger
public void eat()
}6,亞洲海豚類繼承自海豚類
package joeho.net.csdn.blog.builder;
public class asiadoiphin extends doiphin
public void eat()
}7,亞洲鸚鵡類繼承自鸚鵡類
package joeho.net.csdn.blog.builder;
public class asiaparrot extends parrot
public void eat()
}8,非洲老虎類繼承自老虎類
package joeho.net.csdn.blog.builder;
public class africatiger extends tiger
public void eat()
}9,非洲海豚類繼承自海豚類
package joeho.net.csdn.blog.builder;
public class africadoiphin extends doiphin
public void eat()
}10,非洲鸚鵡類繼承自鸚鵡類
package joeho.net.csdn.blog.builder;
public class africaparrot extends parrot
public void eat()
}11,抽象工廠類
package joeho.net.csdn.blog.builder;
public inte***ce animalfactory
12,具體工廠類
package joeho.net.csdn.blog.builder;
public class asiaanimalfactory implements animalfactory
}public class africaanimalfactory implements animalfactory
}12,組裝類
package joeho.net.csdn.blog.builder;
public class builder {
private animalfactory factory;
public builder(animalfactory factory){
this.factory = factory;
public void creatasiaanimal (){
asiatiger tiger = factory.creattiger();
tiger.eat();
asiadoiphin doiphin= factory.creattdoiphin();
doiphin.swim();
public void creatafricaanimal (){
africatiger tiger = factory.creattiger();
tiger.eat();
africadoiphin doiphin= factory.creattdoiphin();
doiphin.swim();
5,客戶端呼叫**
builder bdr= new builder (new asiaanimalfactory () );
bdr.creatasiaanimal ();
建立者模式
建造者模式的定義將乙個複雜物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示 大話設計模式 舉了乙個很好的例子 建造小人,一共需建造6個部分,頭部 身體 左右手 左右腳。與工廠模式不同,建造者模式是在導向者的控制下一步一步構造產品的。建造小人就是在控制下一步步構造出來的。建立者模式可以能...
建立者模式
建造者模式也叫生成器模式,是由gof提出的23種設計模式中的一種。builder模式是一種物件建立型模式,用來隱藏復合物件的建立過程,它把復合物件的建立過程加以抽象,通過子類繼承和過載的方式,動態地建立具有復合屬性的物件。物件的建立 builder模式是為物件的建立而設計的模式 建立的是乙個復合物件...
建立者模式
意圖 將乙個複雜的構建與其表示相分離,使得同樣的構建過程可以建立不同的表示。下面會發現模式實現方式與策略模式,橋接模式等都是相似的,唯有意圖不同而已.此為建立者模式 建立者模式在平時生活中很常見,如肯德基的 可樂可以跟很多東西組合成乙個 而你向服務員要的就是乙個 服務員就把不同東西組合在一起成了乙個...