博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java-设计模式-创建模式-建造者模式builder
阅读量:4030 次
发布时间:2019-05-24

本文共 1150 字,大约阅读时间需要 3 分钟。

java-设计模式-创建模式-建造者模式builder

一、实例

public interface Builder {  //创建部件A  比如创建汽车车轮  void buildPartA();  //创建部件B 比如创建汽车方向盘  void buildPartB();  //创建部件C 比如创建汽车发动机  void buildPartC();  //返回最后组装成品结果 (返回最后装配好的汽车)  //成品的组装过程不在这里进行,而是转移到下面的Director类中进行.  //从而实现了解耦过程和部件  Product getResult();} public class ConcreteBuilder implements Builder {  Part partA, partB, partC;  public void buildPartA() {    //这里是具体如何构建partA的代码  };  public void buildPartB() {    //这里是具体如何构建partB的代码  };   public void buildPartC() {    //这里是具体如何构建partB的代码  };   public Product getResult() {    //返回最后组装成品结果  };}public class Director {  private Builder builder;  public Director( Builder builder ) {    this.builder = builder;  }  // 将部件partA partB partC最后组成复杂对象  //这里是将车轮 方向盘和发动机组装成汽车的过程  public void construct() {    builder.buildPartA();    builder.buildPartB();    builder.buildPartC();  }}

二、建造者模式vs.工厂模式
    与工厂模式相比,建造者模式一般用来创建更为复杂的对象,因为对象的创建过程更为复杂,因此将对象的创建过程独立出来组成一个新的类——导演类。也就是说,工厂模式是将对象的全部创建过程封装在工厂类中,由工厂类向客户端提供最终的产品;而建造者模式中,建造者类一般只提供产品类中各个组件的建造,而将具体建造过程交付给导演类。由导演类负责将各个组件按照特定的规则组建为产品,然后将组建好的产品交付给客户端。
    建造者模式与工厂模式类似,他们都是建造者模式,适用的场景也很相似。一般来说,如果产品的建造很复杂,那么请用工厂模式;如果产品的建造更复杂,那么请用建造者模式。

转载地址:http://hqqbi.baihongyu.com/

你可能感兴趣的文章
[Mac]Mac 操作系统 常见技巧
查看>>
苹果Swift编程语言入门教程【中文版】
查看>>
捕鱼忍者(ninja fishing)之游戏指南+游戏攻略+游戏体验
查看>>
iphone开发基础之objective-c学习
查看>>
iphone开发之SDK研究(待续)
查看>>
计算机网络复习要点
查看>>
Variable property attributes or Modifiers in iOS
查看>>
NSNotificationCenter 用法总结
查看>>
C primer plus 基础总结(一)
查看>>
剑指offer算法题分析与整理(一)
查看>>
剑指offer算法题分析与整理(三)
查看>>
部分笔试算法题整理
查看>>
Ubuntu 13.10使用fcitx输入法
查看>>
pidgin-lwqq 安装
查看>>
mint/ubuntu安装搜狗输入法
查看>>
C++动态申请数组和参数传递问题
查看>>
opencv学习——在MFC中读取和显示图像
查看>>
retext出现Could not parse file contents, check if you have the necessary module installed解决方案
查看>>
pyQt不同窗体间的值传递(一)——对话框关闭时返回值给主窗口
查看>>
linux mint下使用外部SMTP(如网易yeah.net)发邮件
查看>>