创建型设计模式 builder模式

创建型 builder模式
场景
 

  • 例如,Word的另存为功能,可以选择将文件存储为doc、docx、pdf、txt等格式

适配

 

  • 当创建负责对象的算法应该独立于该对象的组成部分以及它们的装配方式时
  • 当构造过程必须允许被构造的对象有不同的表示时


角色

  • Builder   创建一个Product对象的各个部件指定抽象接口
  • ConcreteBuilder  定义并明确它所创建的表示 提供一个检索对象的接口
  • Director  构造一个使用Builder接口的对象
  • Product  包含了定义组成部件的类,包括将这些部件装配成最终产品的接口


协作

  • 用户类创建Director对象,并用它想用的Builder对象进行配置
  • Director对象控制想要生成的产品部件,并将部件生成指令传递给Builder
  • Builder生产组成产品的部件,并将部件组装到产品中
  • 用户类从生成器类中获取产品


特点

  • 你可以改变一个产品的内部表示
  • 构造代码和表示代码分开
  • 构造过程进行更精细的控制

 

实现

//  doc、docx、txt、pdf等类型文件的超类
public class FormattedFile {}
// 文件格式转换父类
public class FileFormatConverter {}
// 格式转换继承  和具体实现 TxtFormatConverter
public class TxtFormatConverter extends FileFormatConverter {}
// 格式转换继承  和具体实现 PdfFormatConverter
public class PdfFormatConverter extends FileFormatConverter {}
// 调用
public class UseFormatConverter {}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值