《设计模式》第三章 创建型模式

第三章 创建型模式

1. Abstract Factory (抽象工厂)

  • 意图:提供一个接口以创建一系列相关或相互依赖的对象,而无需指定他们具体的类;

  • 适用性:

    • 一个系统要独立与他的产品的创建,组合和表示;
    • 一个系统要有多个产品中的一个来配置;
    • 要强调一系列相关的产品对象的设计以便进行联合使用;
    • 提供一个产品类库,但只想显示它们的接口而不是实践;
  • 优缺点:

    • 分离了具体的类;
    • 易于交换产品系列;
    • 有利于产品的一致性;
    • 难以支持新种类的产品;
  • 相关模式:

    • 抽象工厂类常用工厂方法实现,也可以用Prototype实现;
    • 一个具体的工厂通常是一个Singleton

2. Builder(生成器) — 对象创建型模式

  • 意图:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创造不同的表示;
  • 适用性:
    • 创建复杂对象的算发应该独立于该对象的组成部分以及他们的装配方式;
    • 构造过程必须允许被构造的对象有不同的表示;
  • 参与者:
    • Builder
      • 为创建一个Product对象的各个部件提供接口;
    • ConcreteBuilder
      • 实现Builder的接口一构造和装配该产品的各个部件;
      • 定义并跟踪它所创建的表示;
      • 提供一个检索产品的接口;
    • Director:
      • 构造一个使用Builder接口的对象;
    • Product
      • 表示被构造的复杂对象;
      • 包含定义组成部件的类,包括将这些部件装备配成最终产品的接口;
  • 效果:
    • 可以改变一个产品的内部表示;
    • 将构造代码和表示代码分开,通过封装一个复杂对象的创建和表示方式提高了对象的模块性;
    • 可以对构造过程进行更精细的控制;

3. Factory Method(工厂方法) — 对象创建型模式

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值