本文主要是介绍炒冷饭系列:设计模式 建造者模式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
炒冷饭系列:设计模式 建造者模式
摘要: 原创出处: http://www.cnblogs.com/Alandre/ 泥沙砖瓦浆木匠 希望转载,保留摘要,谢谢!
亲爱我,孝何难;亲恶我,孝方贤。
一、什么是建造者模式
Builder模式也叫建造者模式或者生成器模式, 是由GoF提出的23种设计模式中的一种。Builder模式是一种对象创建型模式之一,用来 隐藏复合对象的创建过程,它把复合对象的创建 过程加以抽象,通过子类继承和重载的方式,动 态地创建具有复合属性的对象。
二、建造者模式的结构
三、建造者模式应用场景 及 实现
- - 对象的创建:Builder模式是为对象的创建而设计的模式
- - 创建的是一个复合对象:被创建的对象为一个具有复合属性的复合对象
- - 关注对象创建的各部分的创建过程:不同的工厂(这里指builder生成器)对产品属性有不同的创建方法
House.java
/*** 房子* * @author Jeff Lee*/ public class House {// 地板private String floor;// 墙private String wall;// 屋顶private String housetop;public String getFloor(){return floor;}public void setFloor(String floor){this.floor = floor;}public String getWall(){return wall;}public void setWall(String wall){this.wall = wall;}public String getHousetop(){return housetop;}public void setHousetop(String housetop){this.housetop = housetop;}}
HouseBuilder.java
public interface HouseBuilder {//修房子public void makeFloor();//修墙public void makeWall();//修屋顶public void makeHouseTop();public House getHouse(); }
HouseDirector.java
public class HouseDirector {private HouseBuilder builder;public HouseDirector(HouseBuilder builder){this.builder = builder;}public void makeHouse(){builder.makeFloor();builder.makeHouseTop();builder.makeWall();} }
具体实现类 :PingFangBuilder.java
public class PingFangBuilder implements HouseBuilder { House house = new House();@Overridepublic void makeFloor(){house.setFloor("平房--屋顶");}@Overridepublic void makeWall(){house.setWall("平房--墙");}@Overridepublic void makeHouseTop(){house.setHousetop("平房--屋顶");}public House getHouse(){return this.house;} }
测试类:MainClass.java
public class MainClass {public static void main(String[] args){HouseBuilder builder = new PingFangBuilder();HouseDirector director = new HouseDirector(builder);director.makeHouse();House house = builder.getHouse();System.out.println(house.getFloor());System.out.println(house.getWall());System.out.println(house.getHousetop());} }
注意:该模式如果新增产品,只需要相应增加具体HouseBuilder的实现即可
四、感谢知识来源和小结
来自:java设计模式
如以上文章或链接对你有帮助的话,别忘了在文章按钮或到页面右下角点击 “赞一个” 按钮哦。你也可以点击页面右边“分享”悬浮按钮哦,让更多的人阅读这篇文章。
亲有过 谏使更 怡吾色 柔吾声 谏不入 悦复谏 号泣随 挞无怨
这篇关于炒冷饭系列:设计模式 建造者模式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!