人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統下載站 > 技術開發教程 > 詳細頁面

設計模式c#語言描述——建造者模式

設計模式c#語言描述——建造者模式

更新時間:2022-07-12 文章作者:未知 信息來源:網絡 閱讀次數:

設計模式c#語言描述——建造者(builder)模式



*本文參考了《JAVA與模式》的部分內容,適合于設計模式的初學者。



建造模式是對象的創建模式。建造模式可以將一個產品的內部表象與產品的生成過程分割開來,從而可以使一個建造過程生成具有不同的內部表象的產品對象。



一個產品常有不同的組成成分作為產品的零件,它們通常叫做產品的內部表象。不同的產品可以有不同的內部表象,也就是不同的零件。使用建造模式可以使客戶不需要知道所生成的產品的對象有哪些零件,每個產品的對應零件彼此有何不同,是怎么建造出來的,以及怎樣組成產品。下面是一個示例性的實現。

在這個示例性的系統中,最終產品Product只有兩個零件,即Part1和Part2.相應的建造方法也有兩個:builderPart1和builderPart2.可以看出本模式涉及到四個角色:

抽象建造者(Builder):給出一個抽象接口,以規范產品對象的各個組成部分的建造。

具體建造者(Concrete Builder):擔任這個角色的是與應用程序緊密相關的一些類,它們在應用程序的調用下創建產品的實例。

導演者(Director):是與客戶端打交道的角色,將創建產品的請求劃分為對各個零件的建造請求,再將這些請求委派給具體建造者。

產品(Product):建造中的對象。


Builder:

public interface Builder

{



void buildPart1();



void buildPart2();



Product retrieveResult();



}// END INTERFACE DEFINITION Builder



ConcreteBuilder:

public class ConcreteBuilder : Builder

{



private Product product;



public void buildPart1()

{

//build the first part of the product

}



public void buildPart2()

{

//build the second part of the product

}



public Product retrieveResult()

{

return product;

}



}// END CLASS DEFINITION ConcreteBuilder



Director:

public class Director

{



private Builder builder;



public void Director()

{



}



public void construct()//產品構造方法,負責調用各個零件建造方法

{

builder=new ConcreteBuilder();

builder.builderPart1();

builder.builderPart2();

builder.retrieveResult();

}



}// END CLASS DEFINITION Director



Product:

public interface Product

{



}// END INTERFACE DEFINITION Product



上面的系統中只有一個產品類,對應地也有一個具體建造者類。有多個產品及建造者類的建造模式如下圖:

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 太康县| 长葛市| 隆尧县| 陆河县| 阿拉尔市| 广平县| 榆树市| 垫江县| 平陆县| 天气| 娱乐| 安福县| 武宁县| 基隆市| 高陵县| 思茅市| 宜川县| 翁牛特旗| 临澧县| 江油市| 双柏县| 乐昌市| 合江县| 涞水县| 海原县| 文登市| 连江县| 达孜县| 于田县| 龙海市| 尖扎县| 安泽县| 铜鼓县| 安阳市| 汕头市| 油尖旺区| 武威市| 鞍山市| 通海县| 东阳市| 双牌县|