建造者模式
来源:互联网 发布:淘宝卖家服务助手 编辑:程序博客网 时间:2024/04/27 08:25
建造者模式(Builder):将一个复杂对象的构建与它表示分离,使得同样的构建过程可以创建不同的表示。
下面是Builder的结构图:
下面演示一个Demo:
创建一个产品类,由多个部件组成:
public class Product {List<String> parts = new ArrayList<String>();public void add(String part) {parts.add(part);}public void show() {System.out.println("产品创建:");for(String str : parts)System.out.println(str);}}
Builder接口:
public interface Builder {public void buildPartA();public void buildPartB();public Product getResult();}
两个具体的建造类:
class ConcreteBuilder1 implements Builder{private Product product = new Product();@Overridepublic void buildPartA() {product.add("部件A");}@Overridepublic void buildPartB() {product.add("部件B");}@Overridepublic Product getResult() {return product;}}class ConcreteBuilder2 implements Builder {private Product product = new Product();@Overridepublic void buildPartA() {product.add("部件C");}@Overridepublic void buildPartB() {product.add("部件D");}@Overridepublic Product getResult() {return product;}}
Director指挥类:
public class Director {public void construct(Builder builder) {builder.buildPartA();builder.buildPartB();}}
客户端:
public class Client {public static void main(String[] args) {Director director = new Director();Builder builder1 = new ConcreteBuilder1();Builder builder2 = new ConcreteBuilder2();director.construct(builder1);Product product1 = builder1.getResult();product1.show();director.construct(builder2);Product product2 = builder2.getResult();product2.show();}}
- Builder 建造者模式
- 建造者模式
- 设计模式-------建造者
- 建造者模式
- 建造者模式(Builder)
- 建造者模式(Builder)
- 建造者模式
- 建造者模式 - builder
- 建造者模式
- Builder建造者模式
- 建造者模式(Builder)
- 建造者模式(builder)
- 建造者模式
- java建造者模式
- 建造者模式
- 建造者模式
- 建造者模式(Builder)
- 建造者模式
- php中分割网站网址取得特定参数
- redis学习笔记(一)
- C++ string详解
- MySQL-5.6.13 基本设置及其主从数据库
- POJ 1033 / Northeastern Europe 1998 Defragment (模拟&队列)
- 建造者模式
- Qt简介以及如何配置Qt使用VS2010进行开发
- 视图间跳转完成数据回调的四种方法
- 【数据结构】01.8种排序算法的稳定性和时间复杂度小结
- 阻塞和非阻塞IO
- recv send 阻塞和非阻塞
- Windows下安装、配置Weblogic
- Weblogic集群配置for linux
- weblogic 10 视频教程