<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 人在江湖 閱讀(810) 評論(0)  編輯  收藏 所屬分類: design pattern
    主站蜘蛛池模板: 在线观看免费视频一区| 美女被艹免费视频| 亚洲欧美日韩中文字幕一区二区三区 | 免费大片黄手机在线观看| 国产精品免费网站| 特级无码毛片免费视频尤物| 国产精品偷伦视频免费观看了 | 亚洲jjzzjjzz在线播放| 国产午夜亚洲精品不卡| 两个人看的www高清免费观看| 一级毛片免费观看不卡视频| 成人免费一区二区无码视频| 日韩精品亚洲专区在线观看| 日本免费v片一二三区| 精品国产亚洲男女在线线电影 | 亚洲色婷婷六月亚洲婷婷6月| 亚洲黄色免费在线观看| 亚洲国产成人综合精品| 国产vA免费精品高清在线观看| 精品无码国产污污污免费网站| 插B内射18免费视频| 久久国产成人精品国产成人亚洲| 亚洲一区二区三区日本久久九| 亚洲网址在线观看你懂的| 亚洲熟妇av午夜无码不卡| 亚洲人成色4444在线观看| 国产免费人成视频在线播放播| 曰批全过程免费视频播放网站 | 亚洲?V无码乱码国产精品| 亚洲天堂中文资源| 精品女同一区二区三区免费播放| 国产白丝无码免费视频| 国产zzjjzzjj视频全免费| 亚洲国产综合专区在线电影| 婷婷亚洲综合五月天小说在线| 99蜜桃在线观看免费视频网站| 1000部国产成人免费视频| 黄色成人网站免费无码av| 国产精品亚洲视频| 中文字幕亚洲综合小综合在线| 亚洲精品无码中文久久字幕|