建造者模式(Java)
来源:互联网 发布:ubuntu jdk 1.8 编辑:程序博客网 时间:2024/05/16 00:31
在建造者模式中,主要有四个角色
1 建造者(接口类),抽象出对象的构建过程
2 具体的建造者(实现建造者接口),实现不同的业务逻辑
3 指挥者,调用建造者来完成业务需求
4 产品,需要创建的对象
下面给出代码示例
Cai.java 建造者
package com.BuilderMode;/** * 建造者Builder * * 给出一个抽象接口,以规范产品对象的各个组成成分的建造。 * 这个接口规定要实现复杂对象的哪些部分的创建,并不涉及具体的对象部件的创建 */public interface Cai { public void fangyan(); // 放盐 public void fangyou(); // 放油 public void jiashui(); // 加水,,,等等是做菜不可缺少的步骤}
Lisi.java 具体建造者
package com.BuilderMode;/** * ConcreteBuilder 具体建造者 * <p> * 实现Builder接口,针对不同的商业逻辑,具体化复杂对象的各部分的创建。 * 在建造过程完成后,提供产品的实例。 */public class LiSi implements Cai { public void fangyan() { System.out.println("LiSi fangyan"); } public void fangyou() { System.out.println("LiSi fangyou"); } public void jiashui() { System.out.println("LiSi Jiashui"); }}
Zhangsan.java 具体建造者
package com.BuilderMode;/** * ConcreteBuilder 具体建造者 * * 实现Builder接口,针对不同的商业逻辑,具体化复杂对象的各部分的创建。 * 在建造过程完成后,提供产品的实例。 */public class ZhangSan implements Cai { public void fangyan() { System.out.println("ZhangSanfangyan"); } public void fangyou() { System.out.println("ZhangSanfangyou"); } public void jiashui() { System.out.println("ZhangJiashui"); }}
Director.java 指挥者
package com.BuilderMode;/** * Director 指导者 * * 调用具体建造者来创建复杂对象的各个部分, * 在指导者中不涉及具体产品的信息,只负责保证对象各部分完整创建或按某种顺序创建。 */public class Director { Cai cai; public Director(Cai cai) { this.cai = cai; } public void zuocai() { cai.fangyan(); cai.fangyou(); cai.jiashui(); }}
BuildModejava 产品
package com.BuilderMode;/** * 使用建造者模式的好处: * <p> * 1.使用建造者模式可以使客户端不必知道产品内部组成的细节。 * <p> * 2.具体的建造者类之间是相互独立的,对系统的扩展非常有利。 * <p> * 3.由于具体的建造者是独立的,因此可以对建造过程逐步细化,而不对其他的模块产生任何影响。 * <p> * 使用建造模式的场合: * <p> * 1.创建一些复杂的对象时,这些对象的内部组成构件间的建造顺序是稳定的,但是对象的内部组成构件面临着复杂的变化。 * <p> * 2.要创建的复杂对象的算法,独立于该对象的组成部分,也独立于组成部分的装配方法时。 */public class BuilderMode { public static void test() { Cai cai = new ZhangSan();// 张三做菜 Director d = new Director(cai); // 指挥者 d.zuocai();// 我要指挥者弄菜,其实指挥者叫张三弄菜去了。 }}
0 0
- 建造者模式(Java)
- 设计模式(JAVA)-------建造者模式
- Java建造者模式(Builder模式)
- Java建造者模式(Builder模式)
- Java设计模式(建造者模式)
- java建造者模式
- java 建造者模式
- java 建造者模式
- java 建造者模式
- Java建造者模式
- java建造者模式
- java建造者模式
- JAVA 建造者模式
- java建造者模式
- java建造者模式
- java 建造者模式
- java建造者模式
- Java 建造者模式
- yolo-darknet配置安装与测试
- 思科VPP源码分析(多线程支持分析)
- jsoncpp Linux下编译及使用
- 从本Activity调到本Activity的方法
- Java多态性理解
- 建造者模式(Java)
- 欢迎使用CSDN-markdown编辑器
- 线代
- springMVC-router工程操作sqlite数据库
- Java中 equals() 和 == 的区别
- 网上收集雪花效果【侵删】
- 设计模式之访问者模式
- android 开发零起步学习笔记(七):认识和使用适配器
- 拍照上传图片与从相册中选择图片上传