标签:
建造者模式(生产器模式):ConcretwBuilder具体建造者
//product产品类
public class Phone {
private String name;
private String MainBoard;
private String system;
private String isPassTest;
public void setName(String name) {
this.name = name;
}
public void setMainBoard(String mainBoard) {
MainBoard = mainBoard;
}
public void setSystem(String system) {
this.system = system;
}
public void setIsPassTest(String isPassTest) {
this.isPassTest = isPassTest;
}
public void getProductInfor(){
System.out.println("Name : "+this.name);
System.out.println("MainBoard : "+this.MainBoard);
System.out.println("system : "+this.system);
System.out.println("Test : "+this.isPassTest);
}
}//抽象构造者
public interface BuilderPhone {
public void buildPhoneName();
public void buildMailBoard();
public void buildSystem();
public void judgeIsPassTest();
}//ConcretwBuilder具体建造者
public class BuildHUAWEI implements BuilderPhone {
private Phone HUAWEI = new Phone();
public void buildPhoneName() {
HUAWEI.setName("HUAWEI");
System.out.println("HUAWEI is building...");
}
public void buildMailBoard() {
HUAWEI.setMainBoard("c8812");
System.out.println("MainBoard is ok...");
}
public void buildSystem() {
HUAWEI.setSystem("Andriod4.4");
System.out.println("System is ok...");
}
public void judgeIsPassTest() {
HUAWEI.setIsPassTest("true");
System.out.println("Test is ok...");
}
public Phone getPhone(){
return HUAWEI;
}
}
//Director导演
public class DirectorBuildHUAWEI {
public void construct(BuildHUAWEI newPhone){
newPhone.buildPhoneName();
newPhone.buildMailBoard();
newPhone.buildSystem();
newPhone.judgeIsPassTest();
}
}//测试类
public class BuilderPartternDemo {
public static void main(String[] args) {
DirectorBuildHUAWEI director = new DirectorBuildHUAWEI();
BuildHUAWEI huawei = new BuildHUAWEI();
director.construct(huawei);
Phone newPhone = huawei.getPhone();
newPhone.getProductInfor();
}
}建造者模式和抽象工厂模式十分相似,虽然都是用来建造庞大的复杂的对象,但是注重点不同,主要的区别:
抽象工厂模式,产品对象时直接返回的,其强调的是为创建多个存在相互关系的对象提供一个统一的接口。
工厂模式关注的是创建单个产品
建造者模式,模式强调的是一步步创建对象,并通过相同的创建过程可以获得不同的结果对象
建造者模式则关注创建符合对象,多个部分。
关于应用:
相同的方法,不同的执行顺序,产生不同的结果时 ,使用建造者模式
多个部件或零件,都可以装配到一个对象中,但是产生的运行结果又不相同时,使用建造者模式
产品类非常复杂,或者产品类中的调用顺序不同产生了不同的效能,使用建造者模式
到今天才明白是什么设计模式,设计模式注重的思想,一个人有一个人的实现方式,重要的是我该如何应用这个思想
标签:
原文地址:http://blog.csdn.net/wjw0130/article/details/42174483