麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

建造者模式

2019-11-11 06:28:17
字體:
來源:轉載
供稿:網友

建造者模式(Builder),將一個復雜對象的構建與它的表示分離,使得同樣的構建過程可以創建不同的表示。

如果用了建造者模式,那么用戶就只需指定需要建造的類型就可以得到它們,而具體建造的過程和細節就不需知道了。

//PRoduct類--產品類,由多個部件組成。class Product{    List<String> parts = new List<String>();    public void add(String part)    {        parts.add(part);    }    public void show()    {        foreach(String s : parts)            System.out.print(s);    }}
//Builder類--抽象建造者類,確定產品由兩個部件PartA和PartB組成,并聲明一個得到產品建造后結果的方法GetResult。abstract class Builder{    public abstract void buildPartA();    public abstract void buildPartB();    public abstract Product getResult();}

class ConcreteBuilder1 extends Builder{    private Product product = new Product();    @override    public void buildPartA()    {        product.add(“部件A”);    }    @override    public void buildPartB()    {        product.add(“部件B”);    }    @override    public Product getResult()    {        return product;    }}

class ConcreteBuilder2 extends Builder{    private Product product = new Product();    @override    public void buildPartA()    {        product.add(“部件X”);    }    @override    public void buildPartB()    {        product.add(“部件Y”);    }    @override    public Product getResult()    {        return product;    }}

//Director類--指揮者類class Director{    public void construct(Builder builder)    {        builder.BuilderPartA();        builder.BuilderPartB();    }}

main(){    Director director = new Director();    Builder b1 = new ConcreteBuilder1();    Builder b2 = new ConcreteBuilder2();    director.construct(b1);    Product p1 = b1.getResult();    p1.show();    director.construct(b2);    Product p2 = b2.getResult();    p2.show();}

Builder是為創建一個Product對象的各個部件指定的抽象接口。

ConcreteBuilder是具體建造者,實現Builder接口,構造和裝配各個部件。

Director是指揮者,用于創建一些復雜對象,這些對象內部構建的建造順序通常是穩定的,但對象內部的構建通常面臨著復雜的變化。

Product是具體產品角色。

 

建造者模式的好處就是使得建造代碼與表示代碼分離,由于建造者隱藏了該產品是如何組裝的,所以若需改變一個產品的內部表示,只需要再定義一個具體的建造者就可以了。

 

建造者模式是當創建復雜對象的算法應該獨立于該對象的組成部分以及它們的裝配方式時適用的模式。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产精品自在线拍 | 久久小视频 | 久久99国产精品久久99 | 日本成年免费网站 | 国产手机国产手机在线 | 精品一区二区中文字幕 | 国产午夜精品一区二区三区视频 | 一级成人欧美一区在线观看 | 国产一级毛片国产 | 日本一区二区视频在线观看 | 亚洲国产视频在线 | 欧美成人免费看 | 在线看小早川怜子av | 国产精品久久久久国产精品三级 | 久草在线观看资源 | 欧美亚洲国产一区 | 国产1区在线观看 | 男男啪羞羞视频网站 | 成人毛片免费 | 免费在线看黄 | 91成人免费看片 | 午夜久久久精品一区二区三区 | 黄色羞羞| 亚洲第五色综合网 | 久久99精品国产99久久6男男 | 久久久精品视频国产 | 91精品国 | 日韩黄色三级视频 | 一区二区三区欧美在线观看 | 午夜久久久精品一区二区三区 | 日韩av在线影院 | 国产精品视频一区二区三区四 | 国产一级爱c视频 | 成人毛片免费在线 | 久久久麻豆 | 亚洲福利在线观看视频 | 国色天香综合网 | 色视频在线 | 久久精品一区二区三 | 精品在线观看一区二区三区 | 国产精品午夜小视频观看 |