国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

Java 設計模式 - 建造者模式

2019-11-06 07:44:20
字體:
來源:轉載
供稿:網友

基本概念

建造者模式的作用:

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

建造者模式的角色:

PRoduct,即產品,表示被建造的對象。該對象一定是個復雜對象,由各個部件組合而成。

Builder,即建造者接口,它的作用為創造產品的各個部件。

ConcreteBuilder,即具體的建造者,用于創建具體的產品部件。

Director,即指揮者,負責通過調用不同的建造者,建造并組裝成不同的產品。


實例探究

Product,產品。表示人。

public class Person { private String head; private String body; private String foot; // 省略 getter、setter}

Builder,建造者接口。這里用抽象類表示,表示創建一個人。

public abstract class PersonBulider { protected Person person = new Person(); abstract void bulidHead(); abstract void bulidBody(); abstract void bulidFoot(); Person builderPerson() { return person; }}

ConcreteBuilder,具體的建造者,表示創建一個男人。

public class ManBulider extends PersonBulider { @Override void bulidHead() { person.setHead("男人的頭部"); } @Override void bulidBody() { person.setBody("男人的身體"); } @Override void bulidFoot() { person.setFoot("男人的腳部"); }}

Director,指揮者。表示指揮不同的建造者建造不同的產品。

public class PersonDirecter{ public Person AssemblePerson(PersonBulider builder){ builder.bulidHead(); builder.bulidBody(); builder.bulidFoot(); return builder.builderPerson(); }}

具體調用如下:

PersonDirecter directer = new PersonDirecter();Person person = directer.AssemblePerson(new ManBuilder());
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 淮北市| 麟游县| 昭通市| 乐山市| 襄垣县| 闵行区| 双牌县| 廊坊市| 霍林郭勒市| 依兰县| 昌宁县| 开远市| 天等县| 怀化市| 威信县| 金门县| 康保县| 织金县| 广汉市| 连南| 沅江市| 阿巴嘎旗| 云南省| 项城市| 嘉义市| 正安县| 海伦市| 汕头市| 高平市| 东至县| 滦平县| 兰考县| 墨竹工卡县| 文昌市| 兴城市| 陇西县| 钟祥市| 辽宁省| 鲁山县| 台州市| 墨脱县|