概念:建造者模式是指把一个复杂对象的构建和表示分离,就像建房子一样,每一个房子的建造流程都是相同的,但是却会有很多形状不一,样式不同的房子,这里的房子实际上就是房子这个对象的表示,建造的流程就是房子对象的构建;
建造者模式的构成部分:
1.builder接口:builder接口设计要表示对象的构建流程,相当于建房子的过程(设计,地基,打桩,堆砖),该接口中的方法对应对象构建的步骤;
2.builderImp类:该类实现自builder接口,具体实现构建对象的方法;
3.House类:相当于概念中的复杂对象,也就是表示对象,不同的房子属性可以通过该对象表示出来;
4.Director类:builderImp的包装类;
class Test{
public static void main (String[] args) {
builderImp builder=new builderImp(100,"欧式田园风");
Director director=new Director(builder);
House house=director.getHouse();
house.getArea();
house.getStyle();
}
}interface Builder{
void Area(int Area);
void Style(String Style);
}
class builderImp implements Builder{
private House house=new House();
public builderImp(int mArea,String mStyle){
Area(mArea);
Style(mStyle);
}
public void Area(int mArea){
house.setArea(mArea);
}
public void Style(String mStyle){
house.setStyle(mStyle);
}
public House getHouse(){
return house;
}
}
class Director{
private builderImp builder;
public Director(builderImp builder){
this.builder=builder;
}
public House getHouse(){
return builder.getHouse();
}
}
class House{
private int mArea;
private String mStyle;
public void setArea(int mArea){
this.mArea=mArea;
}
public int getArea(){
System.out.println("the area of the house is"+this.mArea);
return this.mArea;
}
public void setStyle(String mStyle){
this.mStyle=mStyle;
}
public String getStyle(){
System.out.println("the Style of the house is"+this.mStyle);
return this.mStyle;
}
}
java设计模式之建造者模式
最新推荐文章于 2024-07-07 23:15:22 发布