<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
    主站蜘蛛池模板: 国产jizzjizz视频全部免费| 日产亚洲一区二区三区| 亚洲一区二区免费视频| 免费无码午夜福利片 | 一道本在线免费视频| 亚洲youjizz| 久久久久亚洲av无码专区导航 | 亚洲国产精品免费在线观看| 亚洲综合另类小说色区色噜噜| 成年18网站免费视频网站| 99在线观看视频免费| 国产乱子伦精品免费视频| 日本亚洲中午字幕乱码| 亚洲中文字幕无码久久| 亚洲国产理论片在线播放| 亚洲国产精品特色大片观看完整版 | 黄页免费的网站勿入免费直接进入| 三级黄色免费观看| 免费无毒a网站在线观看| 日韩色日韩视频亚洲网站| 亚洲欧美第一成人网站7777| 亚洲人成网站在线观看播放青青| 亚洲国产精品一区二区第一页| 国产亚洲精品自在线观看| 亚洲?V无码成人精品区日韩| 国产在线观看www鲁啊鲁免费| 成人毛片免费观看视频| 免费观看黄网站在线播放| 成人黄色免费网址| 在线视频精品免费| 青青视频观看免费99| 亚洲毛片免费观看| 1000部拍拍拍18勿入免费视频下载 | 又黄又大的激情视频在线观看免费视频社区在线 | 日本免费一区二区三区最新| 成人av免费电影| 永久免费AV无码网站在线观看| 成人啪精品视频免费网站| 最近最新的免费中文字幕| 拨牐拨牐x8免费| 成人永久免费高清|