<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
    主站蜘蛛池模板: 精品亚洲成A人无码成A在线观看| 国内精品久久久久久久亚洲| 久久一区二区三区免费| 亚洲日韩久久综合中文字幕| 亚洲天堂中文资源| 亚洲中文字幕在线观看| 免费国产a国产片高清| 国产一级一片免费播放| 国产又黄又爽又猛免费app| 美女内射毛片在线看免费人动物| 国产免费拔擦拔擦8X高清在线人 | 亚洲成AV人在线观看网址| 国产成人高清精品免费软件| 日本免费人成黄页在线观看视频| 女人18毛片水最多免费观看| 我要看免费的毛片| 国产午夜免费秋霞影院| 亚洲精品视频久久久| 久久亚洲精品国产精品| 亚洲国产精品无码观看久久| 一区免费在线观看| 日韩精品无码免费一区二区三区 | 亚洲乱码中文字幕小综合| 亚洲乱码卡三乱码新区| 免费夜色污私人影院网站电影| 一级特黄特色的免费大片视频| 免费国产叼嘿视频大全网站| 99久久免费国产香蕉麻豆| 国产成人免费高清在线观看| 亚洲精品无码乱码成人| 亚洲综合色区中文字幕| xvideos永久免费入口| 久久久久久免费视频| 久久精品国产亚洲一区二区三区| 亚洲国产成人超福利久久精品| 亚洲第一综合天堂另类专| 久久久99精品免费观看| 免费国产在线观看不卡| 亚洲黄色免费观看| 二个人看的www免费视频| 一二三四影视在线看片免费|