Student{name='小明', age='12', number='1', address='学院路', school='第一小学'}
一、建造者模式简介、二、建造者模式适用场景、三、建造者模式优缺点、四、建造者模式与工厂模式、五、建造者模式代码示例、1、学生类、2、建造者抽象类、3、建造者实现类、4、教师类 ( 非必须 )、5、测试类、六、实例类和建造者类定义在同一个类中 ( 建造者模式常用用法 )、1、实例类 + 建造者类、2、测试类、
开头日常吹牛
我想大家在平时写代码的过程中肯定会去想这个类我怎么写简洁点,或者后面容易维护些.毕竟项目一大起来,代码量上去了以后,就算之前写的时候有写注释,但回过头来看总是需要再捋一遍,这就很浪费时间,毕竟大家都不想拿自己的下班时间来加班,程序员要懒一点好.这个时候设计模式的应用开始变得重要起来.在这里给大家安利一点小小的设计模式
关于设计模式,社区里已经很多人写过,也有更清楚更详细的介绍,总...
建造者模式,又称构建者模式,将一部负责对象的构建分为许多小对象的构建,最后在整合构建的模式。
构建者模式一般用在构建流程或者组成部件固定的场合,将这些部件分开构建成为组件对象,再将这些组件对象整合成为目标对象。
这里引用下别人画的类图:
成员分析:
Director:控制者类,这是控制整个组...
相信我们基本都买过台式电脑吧。我们应该不会去买主板,CPU,内存等等子部件回家,然后自己组装成台式机。当然,也不排除某些发烧友这样做。但是对于多数人来说,我们只需要对老板说,我需要一台联想的或者惠普的电脑,老板组装好给我们就OK了。我们买车也是这样的,只是买一台车回家,而不是买回一堆的发动机等等零件。
上面的例子,抽象一下,就是建造者模式。
建造者模式是创建模式中最复杂的,这个复杂指的是类的结构和实现会复杂一些。它的使用场景不复杂,很好理解。就是创建复杂对象。什么
建造者设计模式是一种创建对象的设计模式,旨在将复杂对象的构建过程和其表示相互分离,使得同样的构建过程可以创建不同的表示形式。下面是一个使用Java语言实现的建造者设计模式的示例代码:
public class Product {
private String partA;
private String partB;
private String partC;
public void setPartA(String partA) {
this.partA = partA;
public void setPartB(String partB) {
this.partB = partB;
public void setPartC(String partC) {
this.partC = partC;
public String getParts() {
return "PartA: " + partA + ", PartB: " + partB + ", PartC: " + partC;
public interface Builder {
void buildPartA();
void buildPartB();
void buildPartC();
Product getProduct();
public class ConcreteBuilder implements Builder {
private Product product = new Product();
public void buildPartA() {
product.setPartA("PartA");
public void buildPartB() {
product.setPartB("PartB");
public void buildPartC() {
product.setPartC("PartC");
public Product getProduct() {
return product;
public class Director {
public void construct(Builder builder) {
builder.buildPartA();
builder.buildPartB();
builder.buildPartC();
public class Client {
public static void main(String[] args) {
Director director = new Director();
Builder builder = new ConcreteBuilder();
director.construct(builder);
Product product = builder.getProduct();
System.out.println(product.getParts());
这个示例代码中,Product表示最终构建出来的对象,Builder定义了如何构建Product对象的抽象接口,ConcreteBuilder实现了具体的构建方法,Director负责使用Builder来构建Product对象,Client负责创建Director和Builder并执行构建过程。这种实现方式可以在不同的场景中创建不同的Product对象。