建造模式Builder

/**
* 抽象建造者
*/
public abstract class Builder { public abstract void buildPart1(); public abstract void buildPart2(); public abstract Product retrieveResult(); }
/**
* 具体建造着
*/
public class ConcreteBuilder extends Builder { private Product product = new Product(); @Override
public void buildPart1() { } @Override
public void buildPart2() { } @Override
public Product retrieveResult() {
return product;
} }
/**
* 产品
*/
public class Product { }
/**
* 导演着
*/
public class Director { private Builder builder; public void construct() {
builder = new ConcreteBuilder();
builder.buildPart1();
builder.buildPart2();
builder.retrieveResult();
} }
public class TestBuilder {

	public static void main(String[] args) {
ConcreteBuilder concreteBuiler = new ConcreteBuilder();
Director director = new Director();
director.construct();
Product product = concreteBuiler.retrieveResult();
} }

建造模式Builder的更多相关文章

  1. 《JAVA设计模式》之建造模式(Builder)

    在阎宏博士的<JAVA与模式>一书中开头是这样描述建造(Builder)模式的: 建造模式是对象的创建模式.建造模式可以将一个产品的内部表象(internal representation ...

  2. 【java设计模式】【创建模式Creational Pattern】建造模式Builder Pattern

    package com.tn.pattern; public class Client { public static void main(String[] args) { Director dire ...

  3. 浅谈设计模式--建造器模式(Builder Pattern)

    建造器模式,是于创建带有大量参数的对象,并避免因参数数量多而产生的一些问题(如状态不一致-JavaBean的setter模式). 如果参数多且有些是必须初始化的,有些是不一定需要初始化的时候,创建对象 ...

  4. 设计模式(5)--Builder(建造模式)--创建型

    1.模式定义: 建造模式是对象的创建模式.建造模式可以将一个产品的内部表象(internal representation)与产品的生产过程分割开来,从而可以使一个建造过程生成具有不同的内部表象的产品 ...

  5. Java建造(Builder)模式

    一.什么是建造模式: 建造模式可以将一个产品的内部表象与产品的生成过程分割开来,从而使一个建造过程生成具有不同内部表象的产品.客户端不需要知道产品内部的结构和生产过程. 二.建造模式的结构: Buil ...

  6. 设计模式之——Builder建造模式

    Builder模式又叫建造模式,是用于组装具有复杂结构的实例的模式. 示例程序是编写一个文档,并且写入到文件中,该文档具有以下结构,含有标题,字符串,一些条目. Builder抽象类,为建造模式的核心 ...

  7. 3.建造模式(Builder)

    注:图片来源于 https://www.cnblogs.com/-saligia-/p/10216752.html 建造模式UML图解析: 代码: Director.h // // Created b ...

  8. 23种设计模式--建造者模式-Builder Pattern

    一.建造模式的介绍       建造者模式就是将零件组装成一个整体,用官方一点的话来讲就是将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示.生活中比如说组装电脑,汽车等等这些都是建 ...

  9. 六个创建模式之建造者模式(Builder Pattern)

    定义: 将一个复杂的对象的构建与它的表示分类,使得同样的构建过程可以创建不同的表示.建造者模式一步步地创建一个复杂对象,但用户仅需指定对象的类型和内容,不需要关心各个部分之间的关联关系. 结构图: B ...

随机推荐

  1. php和AJAX用户注册演示程序

    <! doctype html public "-//w3c//dtd html 4.0//en" "http://www.w3.org/tr/rec-html14 ...

  2. EF的Model First

    一,添加ADO.NET实体数据模型(即edmx) 1,添加edmx         新建一个类库项目,项目中添加新项,选择数据/ADO.NET实体数据模型,如下图.   点击添加,实体数据模型向导窗口 ...

  3. 各种主流数据库的比较(所以说我觉得Oracle这个keng?入的不错?)

    随着计算机技术不断发展,各种数据库编程工具也随着发展,使当今的大多数程序开发人员可以摆脱枯燥无味的用计算机指令或汇编语言开发软件,而是利用一系列高效的.具有良好可视化的编程工具去开发各种数据库软件,从 ...

  4. wdcp升级php版本到5.3,5.5

    官网省级方法 wget http://down.wdlinux.cn/in/php_up53.shsh php_up53.sh 看到"php update is OK"提示表示,顺 ...

  5. No module ata_piix found的解决方法

    在一台as4u6的机器上升级内核到2.6.18时,最好make install的时候报了一个WARNING: No module ata_piix found for 2.6.18, 开始没有在意,重 ...

  6. android 回调函数

    http://blog.csdn.net/xiaanming/article/details/8703708 此为回调的java 实例 http://www.cnblogs.com/qingchen1 ...

  7. 自定义ImageView

    package com.example.myimageview; import android.content.Context;import android.graphics.Bitmap;impor ...

  8. ie浏览器兼容性快速处理小招

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. 虚拟机无法上网的问题:无法启动VMnet0等问题

    虚拟机无法上网,由于之前安装过虚拟机,后来将它卸载了,然后重新安装,最后出现了虚拟机无法上网.刚开始以为是系统的原因,于是就通过linux命令查看系统里面的网卡时是否启动,如:/etc/init.d/ ...

  10. hdu2196 树的直径 + bfs

    //Accepted 740 KB 15 ms //树的直径 //距离一个顶点最远的点一定是树的直径的一个端点 #include <cstdio> #include <cstring ...