<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    人在江湖

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      82 Posts :: 10 Stories :: 169 Comments :: 0 Trackbacks
    Builder

    Abstract interface for creating objects (product).

    Concrete Builder

    Provide implementation for Builder. Construct and assemble parts to build the objects.

    Director

    The Director class is responsible for managing the correct sequence of object creation. It receives a Concrete Builder as a parameter and executes the necessary operations on it.

    Product

    The final object that will be created by the Director using Builder..

       1: /** "Product" */
       2: class Pizza {
       3: private String dough = "";
       4: private String sauce = "";
       5: private String topping = "";
       6:  
       7: public void setDough(String dough) {
       8: this.dough = dough;
       9: }
      10:  
      11: public void setSauce(String sauce) {
      12: this.sauce = sauce;
      13: }
      14:  
      15: public void setTopping(String topping) {
      16: this.topping = topping;
      17: }
      18: }
      19:  
      20: /** "Abstract Builder" */
      21: abstract class PizzaBuilder {
      22: protected Pizza pizza;
      23:  
      24: public Pizza getPizza() {
      25: return pizza;
      26: }
      27:  
      28: public void createNewPizzaProduct() {
      29: pizza = new Pizza();
      30: }
      31:  
      32: public abstract void buildDough();
      33:  
      34: public abstract void buildSauce();
      35:  
      36: public abstract void buildTopping();
      37: }
      38: /** "ConcreteBuilder" */
      39: class HawaiianPizzaBuilder extends PizzaBuilder {
      40: public void buildDough() {
      41: pizza.setDough("cross");
      42: }
      43:  
      44: public void buildSauce() {
      45: pizza.setSauce("mild");
      46: }
      47:  
      48: public void buildTopping() {
      49: pizza.setTopping("ham+pineapple");
      50: }
      51: }
      52:  
      53: /** "ConcreteBuilder" */
      54: class SpicyPizzaBuilder extends PizzaBuilder {
      55: public void buildDough() {
      56: pizza.setDough("pan baked");
      57: }
      58:  
      59: public void buildSauce() {
      60: pizza.setSauce("hot");
      61: }
      62:  
      63: public void buildTopping() {
      64: pizza.setTopping("pepperoni+salami");
      65: }
      66: }
      67: /** "Director" */
      68: class Cook {
      69: private PizzaBuilder pizzaBuilder;
      70:  
      71: public void setPizzaBuilder(PizzaBuilder pb) {
      72: pizzaBuilder = pb;
      73: }
      74:  
      75: public Pizza getPizza() {
      76: return pizzaBuilder.getPizza();
      77: }
      78:  
      79: public void constructPizza() {
      80: pizzaBuilder.createNewPizzaProduct();
      81: pizzaBuilder.buildDough();
      82: pizzaBuilder.buildSauce();
      83: pizzaBuilder.buildTopping();
      84: }
      85: }
      86:  
      87: /** A given type of pizza being constructed. */
      88: public class BuilderExample {
      89: public static void main(String[] args) {
      90: Cook cook = new Cook();
      91: PizzaBuilder hawaiianPizzaBuilder = new HawaiianPizzaBuilder();
      92: PizzaBuilder spicyPizzaBuilder = new SpicyPizzaBuilder();
      93:  
      94: cook.setPizzaBuilder(hawaiianPizzaBuilder);
      95: cook.constructPizza();
      96:  
      97: Pizza pizza = cook.getPizza();
      98: }
      99: }
    posted on 2011-02-09 22:45 人在江湖 閱讀(803) 評論(0)  編輯  收藏 所屬分類: design pattern
    主站蜘蛛池模板: 国产一级理论免费版| 中文字幕无线码中文字幕免费| 国产成人精品免费久久久久| 亚洲精品国产自在久久| 美女被爆羞羞网站在免费观看| 日韩在线免费电影| 久久亚洲精品国产精品婷婷| 歪歪漫画在线观看官网免费阅读| 亚洲国产最大av| 午夜视频免费观看| 含羞草国产亚洲精品岁国产精品| 国产一区视频在线免费观看| 日韩在线视频免费| 中文字幕在线亚洲精品| 野花香高清视频在线观看免费| 亚洲国产精品福利片在线观看| 免费国产叼嘿视频大全网站| 18gay台湾男同亚洲男同| 在线视频观看免费视频18| 亚洲精品无码久久久久久| 大胆亚洲人体视频| 99精品视频在线观看免费| 亚洲制服中文字幕第一区| 毛片a级三毛片免费播放| 国产精品亚洲色图| 亚洲国产另类久久久精品小说| 日本最新免费网站| 精品国产日韩亚洲一区91| 亚洲综合另类小说色区色噜噜| 久久久精品免费视频| 亚洲综合偷自成人网第页色| 免费观看午夜在线欧差毛片| 任你躁在线精品免费| 亚洲宅男精品一区在线观看| 亚洲成a人片在线观看老师| 久久免费精品视频| 亚洲精品人成网线在线播放va| 国产亚洲一区二区三区在线不卡| 最近中文字幕完整版免费高清| 亚洲aⅴ无码专区在线观看春色| 亚洲综合网站色欲色欲|