GOF之生成器模式

1. 生成器模式的定义:
      将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示
2.生成器的本质
      分离整体构建算法和部件构造
3.生成器模式的功能
     (1)生成器模式的主要功能是构建复杂的产品,而且是细化的、分步骤的构建产品,也就是生成器模式重在一步一步解决构造复杂对象的问题,更为重要的是,这个构建的过程是统一的、固定不变的,变化的部分放到生成器部分了,只要配置不同的生成器,那么同样的构建过程,就能构建出不同的产品来。
4.生成器模式的构成生成器模式的结构和说明

         

         Builder : 生成器接口,定义创建一个Product对象所需的各个部件的操作
         ConcreteBuilder : 具体的生成器实现,实现各个部件的创建,并负责组装Product对象的各个部件,同时还提供一个让用户获取组装完成后的产品对象的方法
         Director : 指导者,也被称为导向者,主要用来使用Builder接口,以一个统一的过程来构建所需要的Product对象
         Product : 产品,表示被生成器构建的复杂对象,包含多个部件

        (1)生成器模式分成两个很重要的部分
               1)一部分是builder接口,这里是定义了如何构建各个部件,也就是知道每个部件功能如何实现    
               2)另外一个是Director,Director是知道如何组合来构建产品,也就是说Director负责整体的构建算法,而且通常是分步骤地来执行
        (2)不管如何变化,Builder模式都存在这么两个部分,一个部分是部件构造和产品装配,        另一个部分是整体构建的算法

5.生成器模式的优点
        (1)松散耦合
              生成器模式可以用同一个构建算法构建出表现上完全不同的产品,实现产品构建和产品表现上的分离。生成器模式正是把产品构建的过程独立出来,使它和具体产品的表现松散耦合,从而使得构建算法可以复用,而产品表现也可以灵活的、方便的扩展和切换
         (2)可以很容易地改变产品的内部表示
               在生成器模式种,由于Builder对象只是提供接口给Director使用,那么具体的部件创建和装配方式是被Builder接口隐藏了的,Director并不知道这些具体的实现细节,这样一来,要想改变产品的内部表示,只需要切换Builder的具体实现即可,不用管Director,因此变得很容易。
         (3)更好的复用性
               生成器模式很好的实现了构建算法和具体产品实现的分离。这样一来,使得构建产品的算法可以复用。同样的道理,具体产品的实现也可以使用复用,同一个产品的实现,可以配合不同的构建算法使用。

6.何时选用生成器模式
        (1)如果创建对象的算法,应该独立于该对象的组成部分以及它们的装配方式时
        (2)如果同一个构建过程有着不同的表现时

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值