建造者模式
来源:互联网 发布:手机相片加密软件 编辑:程序博客网 时间:2024/06/18 02:07
1.定义
将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
何时使用:一些基本部件不会变,而其组合经常变化的时候。
//具体产品public class Product { List<String> parts=new ArrayList<String>(); public void Add(String part){ parts.add(part); } public void Show(){ System.out.println("ALL:"); for (String part : parts) { System.out.println(part); } }}
//抽象建造者类public interface Builder { public void BuildPartA(); public void BuildPartB(); public Product GetResult();}
//具体建造者类public class ConcreteBuilder1 implements Builder { private Product prodoct=new Product(); @Override public void BuildPartA() { prodoct.Add("A"); } @Override public void BuildPartB() { prodoct.Add("B"); } @Override public Product GetResult() { return prodoct; }}public class ConcreteBuilder2 implements Builder{ private Product product=new Product(); @Override public void BuildPartA() { product.Add("X"); } @Override public void BuildPartB() { product.Add("Y"); } @Override public Product GetResult() { return product; }}
//指挥者类public class Diretor { public void Construct(Builder builder){ builder.BuildPartA(); builder.BuildPartB(); }}
public class Client { public static void main(String[] args) { Diretor diretor=new Diretor(); Builder b1=new ConcreteBuilder1(); Builder b2=new ConcreteBuilder2(); diretor.Construct(b1); Product p1=b1.GetResult(); p1.Show(); diretor.Construct(b2); Product p2=b2.GetResult(); p2.Show(); }}
阅读全文
0 0
- Builder 建造者模式
- 建造者模式
- 设计模式-------建造者
- 建造者模式
- 建造者模式(Builder)
- 建造者模式(Builder)
- 建造者模式
- 建造者模式 - builder
- 建造者模式
- Builder建造者模式
- 建造者模式(Builder)
- 建造者模式(builder)
- 建造者模式
- java建造者模式
- 建造者模式
- 建造者模式
- 建造者模式(Builder)
- 建造者模式
- web.xml文件version2.5和version3.0
- 数组名和数组名地址。
- opencv识别自己的脸
- batch size && performance
- 共享在阿里云ecs上安装自定义iso的方法
- 建造者模式
- swiftclient 打开debug模式
- js选择文件进行导入(FileSaver.js)
- Kafka
- 剑指offer---二叉搜索树的后序遍历序列
- Unity3d中获取手机中的摄像头
- 数据结构实验之查找四:二分查找
- JAVA 抽象类 和 接口
- 3D-Coat(3D数字雕塑软件)官方中文破解版V4.8.06下载 | 3d coat破解版