焦作网站建设哪家正规,把网站生成app的免费平台,互联网推广计划,软件工程学科评估目录
1. 设计模式的分类
2. 定义
3. 建造者模式通常包含以下几个角色
4. 示例代码
5. 建造者模式的主要优点 1. 设计模式的分类
创建型模式(五种)#xff1a;工厂方法模式、单例模式、抽象工厂模式、原型模式、建造者模式。 结构型模式(七种)#xff1a;适配器模式、代…目录
1. 设计模式的分类
2. 定义
3. 建造者模式通常包含以下几个角色
4. 示例代码
5. 建造者模式的主要优点 1. 设计模式的分类
创建型模式(五种)工厂方法模式、单例模式、抽象工厂模式、原型模式、建造者模式。 结构型模式(七种)适配器模式、代理模式、装饰器模式、桥接模式、外观模式、享元模式、组合模式。 行为型模式(十一种)状态模式、模板方法模式、访问者模式、迭代子模式、责任链模式、备忘录模式、解释器模式、命令模式、中介者模式、观察者模式、策略模式。
2. 定义
建造者模式Builder Pattern是一种用来构建复杂对象的设计模式它能够让你分步骤创建复杂对象并允许你只通过必要的步骤来构建对象。建造者模式是创建型模式之一它提供了一种创建对象的最佳方式。 为了大家更好理解这里类比汽车制造厂车辆的组装过程可以看作是建造者模式的应用。汽车的底盘、引擎、内饰等部件组件被逐步组装起来形成一辆完整的汽车产品。不同的车型可能需要不同的组装步骤但组装线建造过程保持一致。 像这样的类比还有乐高积木、电脑组装等等。 3. 建造者模式通常包含以下几个角色
产品Product需要构建的复杂对象。抽象建造者Builder创建一个Product对象的接口或抽象类定义创建复杂对象的各个步骤。具体建造者ConcreteBuilder实现Builder接口针对不同的商业逻辑创建产品对象。指挥者Director负责安排已有模块的顺序然后告诉Builder开始建造。客户端Client客户端代码一般会使用Director来构建一个复杂的对象并提供一个或多个Builder来创建特定类型的产品。
4. 示例代码
4.1 产品类
public class Product {private String partA;private String partB;public String getPartA() {return partA;}public void setPartA(String partA) {this.partA partA;}public String getPartB() {return partB;}public void setPartB(String partB) {this.partB partB;}Overridepublic String toString() {return Product{ partA partA \ , partB partB \ };}
}
4.2 抽象建造者
public interface Builder {void buildPartA();void buildPartB();Product getResult();
}
4.3 具体建造者
public class ConcreteBuilder implements Builder{private Product product;public ConcreteBuilder() {this.product new Product();}Overridepublic void buildPartA() {product.setPartA(PartA);}Overridepublic void buildPartB() {product.setPartB(PartB);}Overridepublic Product getResult() {return product;}
}4.4 指挥者
public class Director {private Builder builder;public Director(Builder builder) {this.builder builder;}public void construct() {builder.buildPartA();builder.buildPartB();}public Product getProduct() {return builder.getResult();}
}4.5 客户端代码
public class Main {public static void main(String[] args) {Builder builder new ConcreteBuilder();Director director new Director(builder);director.construct();Product product director.getProduct();System.out.println(product);}
}
4.6 运行结果 5. 建造者模式的主要优点
分离对象的构建和表示建造者模式可以将对象的构建过程和表示分离使得相同的构建过程可以创建不同的表示。相同的构建过程可以创建不同的产品通过不同的建造者可以使用相同的构建过程创建不同的产品。更复杂的对象构建可以逐步构建复杂对象每一步都允许你只添加你所需要的部分。