构建模式

定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示.

原理:Builder模式是一步一步创建一个复杂的对象,它允许用户可以只通过指定复杂对象的类型和内容就可以构建它们.用户不知道内部的具体构建细节.Builder模式是非常类似抽象工厂模式,细微的区别大概只有在反复使用中才能体会到.

实现:

创建接口,定义如何创建复杂对象的各个部件

public interface Builder{

//创建部件A

void buildPartA();

//创建部件B

void buildPartB();

//创建部件C

void buildPartC();

//组装

Product getResult();

}

Director构建最后复杂的对象,上面接口分装的是如何创建一个个部件

public class Director{

private Builder builder;

public Director(Builder builder){this.builder = builder;}

//下面是将部件组装过程

public void construct(){

builder.buildPartA();

builder.buildPartB();

builder.buildPartC();

}

}

Builder的具体实现创建Builder

public class ConcreateBuilder implements Builder{

Part partA,partB,partC;

//这里写构建部件A代码

public void buildPartA(){

}

//这里写构建部件B代码

public void buildPartB(){

}

//这里写构建部件C代码

public void buildPartC(){

}

//返回最后组装成果

public Product getResult(){

}

}

产品接口

public interface Product{}

部件接口

public interface Part{}

部件模式使用:

ConcreateBuilder builder = new ConcreateBuilder();

Director director = new Director(builder);

director.construct();

Product product = builder.getResult();

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章