构建模式的核心就是把构建和表示进行分离、解耦,如下例子:Part类代表一个复杂的需要构建的实体,其中有两个属性,代表需要的组件,Builder接口,用于表示需要构建的步骤方法,也可以理解为构建部分,Yw,Zw类表示不同的表示方式,也就是Part类在不同的情况下表现出来的不同view,Director类选择不同的Builder实现会得到不同的result给client,其中最核心的是Builder接口和Director类,通过这两个部件我们可以用不同的部件任意组合不同的Part给调用者。
package com.jerry.design.builder;
public class Part {
private String name;
private String code;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
}
package com.jerry.design.builder;
public interface Builder {
public void builderPartA(Part p);
public void builderPartB(Part p);
public String getResult();
}
package com.jerry.design.builder;
public class Director {
private Builder bulider;
public void setBulider(Builder bulider) {
this.bulider = bulider;
}
public String doSomething(Part p){
bulider.builderPartA(p);
bulider.builderPartB(p);
return bulider.getResult();
}
}
package com.jerry.design.builder;
public class Yw implements Builder{
private StringBuffer result = new StringBuffer("english:");
@Override
public void builderPartA(Part p) {
result.append(p.getName());
}
@Override
public void builderPartB(Part p) {
result.append(p.getCode());
}
@Override
public String getResult() {
return result.toString();
}
}
package com.jerry.design.builder;
public class Zw implements Builder{
private StringBuffer result = new StringBuffer("中文:");
@Override
public void builderPartA(Part p) {
result.append(p.getName());
}
@Override
public void builderPartB(Part p) {
result.append(p.getCode());
}
@Override
public String getResult() {
return result.toString();
}
}
package com.jerry.design.builder;
public class Client {
public static void main(String[] args) {
Part p = new Part();
p.setName("我的名字");
p.setCode("我的代码");
Zw zw = new Zw();
Director dir = new Director();
dir.setBulider(zw);
System.out.println(dir.doSomething(p));
}
}
分享到:
相关推荐
设计模式之构建模式的Java实现版本,包括UML类设计图
大数据平台构建模式收益分析.pdf
商业文化构建模式培训教材.pptx
4E商业文化构建模式学员版.pptx
预算成本管理体系的构建模式.doc
浅谈区域创新体系的构建模式研究.pdf
计算机云计算安全服务的构建模式分析.pdf
大数据驱动下徐州智慧城市构建模式研究.docx
公共图书馆服务体系构建模式案例分析.pptx
公共图书馆服务体系构建模式案例研讨.pptx
大数据时代教师网络学习共同体构建模式探究.docx
构建模式培养人才走可持续发展之路.docx
大学英语课外自主学习网络平台构建模式研究.docx
大数据时代教师网络学习共同体构建模式探究.zip
信息化背景下中职智慧课堂教学构建模式研究.docx
大数据背景下云计算安全服务的构建模式研究.pdf
关于互联网背景下智慧医院的构建模式分析.pdf
大数据时代教师网络学习共同体构建模式探究.pdf
焦作市全域智慧旅游精准云服务平台构建模式研究.pdf