Builder模式也属于一种创建模式,它主要用来产生比较复杂的对象。假如我们现在有
一个很复杂的对象,它有好多部件组成,如果我们用new在构造器中构建的话,这样
代码的耦合度很高,不能实现解耦的目的。这就要求我们将各个部件的生产和各个部
件的组装分开来做。就好比生产一台电脑,一些部门专门负责生产各种的部件(CPU,
显示卡,声卡,硬盘,显示器等),另外一些部门负责组装这些部件。就好比买个组
装电脑。要实现Builder模式,我们需要借助几个类来实现:
public abstract class Builder{
public abstract void builderA();
public abstract void buliderB();
public abstract void buliderC();
...........................
public Product getProcuct()
//空实现留给Director来重载
}
}
public class concreteBulider extends Builder {
ClassA aA;
ClassB bB;
ClassC cC;
public void buliderA(){
//具体来构造部件A
}
public void buliderB(){ }
//具体来构造部件B
}
public void buliderC(){
//具体来构造部件C
}
.................................
public class Director {
public void constructor( Bulider bulider ){
bulider.builderA();
builder.builderB();
builder.builderC();
}
public Product gerProduct(){
//把 aA,bB,cC组装为最终产品
return "产品";
}
}
public class Client {
public static void main(String[ ] args){
Builder builder = new ConcreterBuilder();
builder.contructor(builder);
builder.getProduct();
}
}
这样各个部件的生产让concreteBuilder来完成,具体的组装又Director来完成,这样代码的
耦合性就减少了。
分享到:
相关推荐
设计模式之Builder
主要为大家详细介绍了Android设计模式之Builder模式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例讲述了Android编程设计模式之Builder模式。分享给大家供大家参考,具体如下: 一、介绍 Builder模式是一步一步创建一个复杂对象的创建型模式,它允许用户在不知道内部构建细节的情况下,可以更精细的控制...
java设计模式之Builder&Decorator,java设计模式之Builder&Decorator
NULL 博文链接:https://wy649898543.iteye.com/blog/1431751
主要为大家详细介绍了Android设计模式之Builder模式解析的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
将一个复杂对象的构造与它的表示分离,使同样的构建 过程可以创建不同的表示,这样的设计模式被称为建造者模式。
设计模式之Builder 设计模式之Singleton(单态) 结构模式: 设计模式之Facade(外观) 设计模式之Proxy(代理) 设计模式之Adapter(适配器) 设计模式之Composite(组合) 设计模式之Decorator(油漆工) 设计模式之Bridge 设计...
builder设计模式
一个builder 设计 模式 的源码,
demo中使用了设计模式中的建造者模式,代码非常精简,本地可正常运行,亲测有效!
NULL 博文链接:https://dncsoft.iteye.com/blog/1167208
23种设计模式之四(创建型模式)Builder模式
Builder设计模式
设计模式C++学习之建造者模式(Builder)
设计模式之Builder 设计模式之Singleton(单态) 结构模式: 设计模式之Facade(外观) 设计模式之Proxy(代理) 设计模式之Adapter(适配器) 设计模式之Composite(组合) 设计模式之Decorator(油漆工) 设计模式之Bridge 设计...
C#设计模式之建造者(Builder)模式示例源代码