将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
适用:当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。
当构造过程必须允许构造对象有不同的表示时。
工厂模式:构造一个产品
抽象工厂:构造一系列产品
生成器:构造一个复杂的产品
public class Builder {
class BenZCar{
}
//部件生产及出厂产品抽象类
interface CarBuilder{
void makeWheel(); //造车轮
void makeGlass(); //造玻璃
void makeChair(); //造椅子
//....
BenZCar getBenZCar();
}
//部件生产及出厂产品实现类
class BenZCarBuilder implements CarBuilder{
BenZCar benZCar = new BenZCar();
//返回产品
public BenZCar getBenZCar() {
return benZCar;
}
public void makeChair() {
System.out.println("make chair...");
}
public void makeGlass() {
System.out.println("make glass...");
}
public void makeWheel() {
System.out.println("make wheel...");
}
}
//封装各部件
class CarDirector{
CarBuilder carBuilder = null;
public CarDirector(CarBuilder carBuilder){
this.carBuilder = carBuilder;
}
public void assembling(){
carBuilder.makeChair();
carBuilder.makeGlass();
carBuilder.makeWheel();
//.....
System.out.println("assembling success...");
}
}
public static void main(String[] args){
Builder builder = new Builder();
CarBuilder carBuiler = builder.new BenZCarBuilder();
CarDirector carDirector = builder.new CarDirector(carBuiler);
carDirector.assembling();
BenZCar benZCar = carBuiler.getBenZCar();
}
}
分享到:
相关推荐
在这里与各位分享本人从网络上下载的C#面向对象设计模式纵横谈系列视频,共有25节,除了第一节需要各位贡献一点资源分以作为对本人上传资源的回馈,后面的其他资源均不需要... 这是第4节:创建型模式Builder生成器模式
C#面向对象设计模式纵横谈(4):Builder 生成器模式(创建型模式) 体验课程
文章地址:https://blog.csdn.net/mazhiyuan1981/article/details/110638833
【设计模式】- 生成器模式(Builder)(csdn)————程序
java设计模式之生成器模式,希望对大家有所帮助。
C#视频-面向对象设计模式纵横谈(4):Builder 生成器模式(创建型模式)
C#面向对象设计模式纵横谈(4):Builder 生成器模式(创建型模式) (Level 300)
在《Head First Design Patterns》文中是这么介绍生成器模式的,“封装一个产品的构造过程,并允许按步骤构造”,感觉说得不是很清楚。而在网上查找相关资料是这么解释的,建造者模式(Builder Pattern)使用多个简单...
当设计类的构造函数或静态工厂具有多个参数时,Builder 模式是一个不错的选择。—— Effective Java,第二版,第39页背景在 Java 中实现 Builder 模式容易出错和重复。即使是一个简单的四字段类,最基本的构建器 ...
主要介绍了C#设计模式之Builder生成器模式解决带老婆配置电脑问题,简单介绍了生成器模式的概念、功能并结合具体实例形式分析了C#生成器模式解决配电脑问题的步骤与相关操作技巧,需要的朋友可以参考下
C#面向对象设计模式纵横谈(4):Builder 生成器模式(创建型模式) C#面向对象设计模式纵横谈(5):Factory Method 工厂方法模式(创建型模式) C#面向对象设计模式纵横谈(6):Prototype 原型模式(创建型模式) C#面向...
第8章 生成器模式(Builder) 第9章 原型模式(Prototype) 第10章 中介者模式(Mediator) 第11章 代理模式(Proxy) 第12章 观察者模式(Observer) 第13章 命令模式(Command) 第14章 迭代器模式(Iterator) ...
生成器模式(Builder) 工厂方法模式(Factory Method) 原型模式(Prototype) 单件模式(Singleton) 结构型: 适配器模式(Adapter) 桥接模式(Bridge) 组合模式(Composite) 装饰者模式(Decorator) 外观模式(Facade) 蝇量...
3.2 Builder(生成器)—对象创建型 模式 63 3.3 Factory Method(工厂方法)— 对象创建型模式 70 3.4 Prototype(原型)—对象创建型 模式 87 3.5 Singleton(单件)—对象创建型 模式 84 3.6 创建型模式的讨论 89...
创建型模式 (100%) 设计模式面面观(5):抽象工厂模式(AbstractFactory)-创建型模式 (100%) 设计模式面面观(6):生成器模式(Builder)-创建型模式 (100%) 设计模式面面观(7):原型模式(Prototype...
设计模式生成器 生成器设计模式
第8章 生成器模式(Builder) 第9章 原型模式(Prototype) 第10章 中介者模式(Mediator) 第11章 代理模式(Proxy) 第12章 观察者模式(Observer) 第13章 命令模式(Command) 第14章 迭代器模式(Iterator) ...
3.2 Builder(生成器)—对象创建型模式 633.3 Factory Method(工厂方法)—对象创建型模式 70 3.4 Prototype(原型)—对象创建型模式 87 3.5 Singleton(单件)—对象创建型模式 84 3.6 创建型模式的讨论 89 第 4...
3.2 Builder(生成器)—对象创建型 模式 63 3.3 Factory Method(工厂方法)— 对象创建型模式 70 3.4 Prototype(原型)—对象创建型 模式 87 3.5 Singleton(单件)—对象创建型 模式 84 3.6 创建型模式的讨论 89...