人防工程做资料的网站,网站没有做伪静态是什么样子,国家信用信息公示系统山东,上海环球金融中心介绍一、写在前面
创建型模式 单例模式工厂方法模式抽象工厂模式原型模式建造者模式 结构型模式行为型模式
二、介绍
建造者模式主要在以下场景中得到应用#xff1a;
当需要创建的对象具有复杂的内部结构#xff0c;且包含多个属性时#xff0c;建造者模式可以将对象的构建…一、写在前面
创建型模式 单例模式工厂方法模式抽象工厂模式原型模式建造者模式 结构型模式行为型模式
二、介绍
建造者模式主要在以下场景中得到应用
当需要创建的对象具有复杂的内部结构且包含多个属性时建造者模式可以将对象的构建和表示分离使得客户端只需要关心最终的产品而无需了解具体的构建步骤。当对象的创建过程涉及多个步骤且这些步骤的顺序对最终对象有影响时可以通过建造者模式来灵活控制构建顺序。当需要创建的产品具有多种表示且这些表示可能由不同的属性组合而成时可以使用建造者模式来创建不同的表示。通过定义多个具体的建造者客户端可以选择不同的建造者来构建不同表示的对象。
三、思想
建造者模式的思想是将对象的表示和构建分离具体到代码中就是在对象的属性还没有被赋值的时候就可以表示出这个对象可以手动控制这个对象什么时候赋值,可以用于属性较多的对象的创建代码如下
//自行车类
public class Bike {private String frame;private String seat;public String getFrame() {return frame;}public void setFrame(String frame) {this.frame frame;}public String getSeat() {return seat;}public void setSeat(String seat) {this.seat seat;}
}public abstract class Builder {protected Bike mBike new Bike();public abstract void buildFrame();public abstract void buildSeat();public abstract Bike createBike();
}public class MobikeBuilder extends Builder {Overridepublic void buildFrame() {mBike.setFrame(铝合金车架);}Overridepublic void buildSeat() {mBike.setSeat(真皮车座);}Overridepublic Bike createBike() {return mBike;}
}
//ofo单车Builder类
public class OfoBuilder extends Builder {Overridepublic void buildFrame() {mBike.setFrame(碳纤维车架);}Overridepublic void buildSeat() {mBike.setSeat(橡胶车座);}Overridepublic Bike createBike() {return mBike;}
}public class Director {private Builder mBuilder;public Director(Builder builder) {mBuilder builder;}public Bike construct() {//核心思想mBuilder.buildFrame();mBuilder.buildSeat();return mBuilder.createBike();}
}public class Client {public static void main(String[] args) {showBike(new OfoBuilder());showBike(new MobikeBuilder());}private static void showBike(Builder builder) {Director director new Director(builder);Bike bike director.construct();System.out.println(bike.getFrame());System.out.println(bike.getSeat());}
}