文档章节

5.建造者模式(生成器模式)

小思绪跌跌撞撞仰望天空
 小思绪跌跌撞撞仰望天空
发布于 2016/07/20 13:51
字数 166
阅读 3
收藏 0

产品类

package com.lw.pd.Builder;
//产品类
public class Product {
	public void doSomething(){
		//独立业务处理
	}
}

抽象建造者

package com.lw.pd.Builder;
//抽象建造者
public abstract class Builder {
	//设置产品的不同部分,已设置不同产品
	public abstract void setPart();
	//建造产品
	public abstract Product buildProduct();
}

具体建造者

package com.lw.pd.Builder;
//具体建造者
public class ConcreteProduct extends Builder {
	private Product product = new Product();
	//设置产品零件
	public void setPart() {
		//产品内部逻辑处理
	}
	//组件一个产品
	public Product buildProduct() {
		return product;
	}

}

导演类

package com.lw.pd.Builder;
//导演类
public class Director {
	private Builder builder = new ConcreteProduct();
	//构建不同的产品
	public Product getAProduct(){
		builder.setPart();
		//设置不同零件产生不同产品
		return builder.buildProduct();
	}
}

 

© 著作权归作者所有

共有 人打赏支持
上一篇: 6.代理模式
下一篇: 4.模板方法模式
小思绪跌跌撞撞仰望天空
粉丝 0
博文 23
码字总数 6998
作品 0
武汉
程序员
私信 提问
炒冷饭系列:设计模式 建造者模式

炒冷饭系列:设计模式 建造者模式 摘要: 原创出处: http://www.cnblogs.com/Alandre/ 泥沙砖瓦浆木匠 希望转载,保留摘要,谢谢! 亲爱我,孝何难;亲恶我,孝方贤。 一、什么是建造者模式 ...

泥沙砖瓦浆木匠
2014/07/28
0
0
生成器模式(建造者模式)-分离构建和表示

应用场景 举例: 导出数据为文本格式,xml格式 导出步骤分为: 先拼接头文件信息,再拼接body,再拼接尾部信息,最后导出对应格式! 不用设计模式有n 种写法,这里不展开说明。。。 我们如何...

洋哥6
2016/02/23
55
2
设计模式学习笔记八:建造者模式(Builder Pattern)

1. 概述 意图 :将复杂对象的构建与表示分离,是同样的构建过程可以创建过程可以创建不同的表示。需要注意以下几点: (1 )。构建与表示分离:表明生成器模式的结构,构建过程被封装在导航...

长平狐
2013/06/17
76
0
设计模式之禅之设计模式-建造者模式

一:建造者模式的定义 --->建造者模式(Builder Pattern)也叫做生成器模式,其定义如下:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示 ● Product产品类 通常是实...

无信不立
2016/01/04
0
0
python设计模式-建造者模式

在上一篇python设计模式:抽象工厂模式中,我们尝试用抽象工厂模式规范化了 Pizza 原材料的供应以及 Pizza 的创建。但是我们忽略了一个问题,那就是每种 Pizza 的烘焙时间依赖于生面团的厚度...

goodspeed
2017/11/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

安装数据库 常见问题

数据库重置密码 如果MySQL数据库用户的密码设置过于简单,数据库在用户登录后会提示重置密码,并且不接受简单的密码。 提示需要重置密码: ERROR 1820 (HY000): You must reset your passwo...

狼王黄师傅
9分钟前
0
0
三种方式拿到反射的入口

public class a_1 { public static void main(String args[]) throws ClassNotFoundException { //三种方式拿到反射的入口 System.out.println(Class.forName("reflect.com.Son")); System.o......

南桥北木
21分钟前
1
0
Macbook 安装PhotoShop 总提示安装包损坏的问题

问题描述 今天在给Mac10.12安装Adobe Photoshop的时候一直提示Error The installation cannot continue as the installer file may be damaged. Download the installer file again.起初以为......

Carlyle_Lee
27分钟前
1
0
Java 帝国对 Python 的渗透能成功吗?哈哈

引子 Java 帝国已经成立20多年,经过历代国王的励精图治,可以说是地大物博,码农众多。 可是国王依然不满足,整天想着如何继续开拓疆土, 这一天晚上他又把几个重臣招来商议了。 IO大臣说:...

边鹏_尛爺鑫
今天
13
0
分布式事务解决方案框架(LCN)

什么是XA接口 XA是一个分布式事务协议,由Tuxedo提出。XA中大致分为两部分:事务管理器和本地资源管理器。其中本地资源管理器往往由数据库实现,比如Oracle、DB2这些商业数据库都实现了XA接口...

群星纪元
今天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部