首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

设计方式二:建造模式

2012-08-09 
设计模式二:建造模式建造者模式的通用类图如图:本例类图:1.从测试类开始package com.bestaone.pattern.bui

设计模式二:建造模式

建造者模式的通用类图如图:

设计方式二:建造模式

本例类图:

设计方式二:建造模式


1.从测试类开始

package com.bestaone.pattern.builder;import java.util.ArrayList;/** * 导演:负责安排已有模块的顺序,然后告诉Builder开始建造 */public class Director {private ArrayList<String> sequence = new ArrayList<String>();private BenzBuilder benzBuilder = new BenzBuilder();private BmwBuilder bmwBuilder = new BmwBuilder();/** A类型的奔驰车模型,先start,然后stop,其他什么引擎了,喇叭一概没有*/public Benz getABenz() {//清理场景,这里是一些初级程序员不注意的地方this.sequence.clear();//这只ABenzModel的执行顺序this.sequence.add("start");this.sequence.add("stop");//按照顺序返回一个奔驰车this.benzBuilder.setSequence(this.sequence);return (Benz) this.benzBuilder.getCar();}/** B型号的奔驰车模型,是先发动引擎,然后启动,然后停止,没有喇叭*/public Benz getBBenz() {this.sequence.clear();this.sequence.add("engine boom");this.sequence.add("start");this.sequence.add("stop");this.benzBuilder.setSequence(this.sequence);return (Benz) this.benzBuilder.getCar();}/** C型号的宝马车是先按下喇叭(炫耀嘛),然后启动,然后停止*/public Bmw getCBmw() {this.sequence.clear();this.sequence.add("alarm");this.sequence.add("start");this.sequence.add("stop");this.bmwBuilder.setSequence(this.sequence);return (Bmw) this.bmwBuilder.getCar();}/** D类型的宝马车只有一个功能,就是跑,启动起来就跑,永远不停止,牛叉*/public Bmw getDBmw() {this.sequence.clear();this.sequence.add("start");this.bmwBuilder.setSequence(this.sequence);return (Bmw) this.benzBuilder.getCar();}/** 这里还可以有很多方法,你可以先停止,然后再启动,或者一直停着不动,静态的嘛* 导演类嘛,按照什么顺序是导演说了算*/}



热点排行