建造者模式:
也叫生成器模式。用来隐藏复合对象的创建过程,他把复合对象的创建过程加以抽象,通过子类继承和重载的方式,动态地创建具有复合属性的对象。
总结一句就是封装一个对象的构造过程,并允许按步骤构造。
产品:
public class House{ private String floor; private String wall; 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 interface HouseBuilder{ public void makeFloor(); public void makeWall(); public House getHouse(); }
具体建造者类(实现建造者接口):
public class BigHouseBuilder implements HouseBuilder{ House house=new House(); public void makeFloor(){ house.setFloor("建bighouse的地板"); } public void makeWall(){ house.setWall("建bighouse的墙"); } public House getHouse(){ return house; } }
指挥具体建造者的设计师:
public class HouseDirector{ private HouseBuilder builder; public HouseDirector(HouseBuilder builder){ this.builder=builder; } public void make(){ builder.makeFloor(); builder.makeWall(); } }
客户端程序:
public class Main{ public static void main(String []args){ HouseBuilder builder=new BigHouseBuilder(); HouseDirector director=new HouseDirector(builder); House house=builder.getHouse(); System.out.println(house.getFloor()); System.out.println(house.getWall()); } }
原文:https://www.cnblogs.com/codeLZC/p/10505693.html