生成器模式

2021-09-01 23:27:59 字數 1839 閱讀 5530

閱讀《研磨設計模式》筆記。之後若有所感,再補充。

生成器模式目的:將乙個複雜的物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示。

示例:

/*** @description 描述輸出到檔案頭的物件

* @author liuwei

* @date 2014-4-17

* @version 1.0

*/public class exportheadermodel

public void setdepid(string depid)

public string getexportdate()

public void setexportdate(string exportdate)

}

/*** @description 描述輸出資料的物件

* @author liuwei

* @date 2014-4-17

* @version 1.0

*/public class exportdatamodel

public void setproductid(string productid)

public string getprice()

public void setprice(string price)

public string getamount()

public void setamount(string amount)

}

/*** @description描述輸出到檔案尾的內容的物件

* @author liuwei

* @date 2014-4-17

* @version 1.0

*/public class exportfootermodel

public void setexportuser(string exportuser)

}

/*** @description 生成器介面,定義建立乙個輸出檔案物件所需的各個部件的操作

* @author liuwei

* @date 2014-4-17

* @version 1.0

*/public inte***ce builder

/*** @description 指導者,指導使用生成器的介面來構建輸出的檔案的物件

* @author liuwei

* @date 2014-4-17

* @version 1.0

*/public class director

/*** 指導生產器構建最終的檔案輸出物件

* @param ehm

* @param mapdata

* @param efm

*/public void construct(exportheadermodel ehm, map> mapdata, exportfootermodel efm)

}

/*** @description 生成器模式:將乙個複雜的物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示

* @author liuwei

* @date 2014-4-17

* @version 1.0

*/public class client

}

生成器模式

生成器模式的定義 將乙個複雜物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示。我們先來看乙個簡單的例子,比如說product類是乙個複雜的類,構建它需要許多步驟 class product 我們需要定義乙個抽象的生成器類builder,來定義構建product的步驟 abstract ...

生成器模式

定義 將乙個複雜物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示。生成器模式利用乙個導演者物件和具體建造者物件乙個乙個地建造出所有的零件,從而建造出完整的物件。四個要素 builder 生成器介面,定義建立乙個product物件所需要的各個部件的操作。concretebuilder 具...

生成器模式 Builder

把複雜的物件的構建與其表示分離開,以便根據程式的需要在相同的建立過程中建立不同的表示。每個生成器必須有乙個相同的方法名稱。client 建立乙個 director 物件,指定乙個 build 物件,配置 director。當 product 需要生成時,director 通知該builder bui...