设计模式:建造者模式
来源:互联网 发布:安徽建筑大学网络教育 编辑:程序博客网 时间:2024/06/05 05:42
定义
建造者模式(Builder Pattern):将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
类图
建造者模式包含如下角色:
- Builder:抽象建造者
- ConcreteBuilder:具体建造者
- Director:指挥者
- Product:产品角色
扩展
建造者模式的简化:
- 省略抽象建造者角色:如果系统中只需要一个具体建造者的话,可以省略掉抽象建造者。
- 省略指挥者角色:在具体建造者只有一个的情况下,如果抽象建造者角色已经被省略掉,那么还可以省略指挥者角色,让Builder角色扮演指挥者与建造者双重角色。
代码
简化模式:
public class Room { private String window; private String floor; private Room() { } public String getWindow() { return window; } public String getFloor() { return floor; } @Override public String toString() { return "---->floor " + floor + " window " + window; } public static class Builder { private final RoomParams params; public Builder() { params = new RoomParams(); } public Builder makeWindow(String window) { params.window = window; return this; } public Builder makeFloor(String floor) { params.floor = floor; return this; } /** * 构建 */ public Room builder() { Room room = new Room(); params.apply(room); return room; } private class RoomParams { private String window; private String floor; /** * 按特定顺序组装 */ private void apply(Room room) { room.window = window; room.floor = floor; } } }}
调用过程:
Room room = new Room.Builder() .makeWindow("蓝色玻璃") .makeFloor("白色地板") .builder();
0 0
- 设计模式-------建造者
- 设计模式-建造者
- 建造者设计模式
- 建造者设计模式
- 建造者设计模式
- 设计模式-建造者
- 建造者设计模式
- 建造者设计模式
- 建造者设计模式
- [设计]建造者模式
- 设计模式:建造者模式
- 设计模式---建造者模式
- 设计模式---建造者模式
- 设计模式-----建造者模式
- 设计模式-【建造者模式】
- 设计模式--建造者模式
- 设计模式建造者模式
- 设计模式- 建造者模式
- Centos6下Python3的编译安装
- 欢迎使用CSDN-markdown编辑器
- TCP连接的建立与终止
- 等差数列
- 卡号中间数字用*代替
- 设计模式:建造者模式
- 03_容器
- 算法导论 思考题 9-1
- JavaScript 中的 .toString() 和 String()
- 康拓展开式
- Storm常用命令
- Servlet学习笔记六——会话跟踪
- java中方法的定义
- c++ 文件存取