zoukankan      html  css  js  c++  java
  • Builder模式的理解分析

    七 分析总结

    效果:

    1 隐藏产品的内部表示

      Builder提供创建产品的接口给Director,

      隐藏了产品的内部结构(仅提供接口BuildPart()创建产品)

      隐藏该产品是如何装配的(BuildPart()内部装配是隐藏的)。

    2 将构造代码和表示代码分开

      构造代码是在Builder提供的接口中完成的,每个ConcreateBuilder包含了创建和装配一个特定产品的所有代码。

      提供不同的Builder,使用相同的Director导向过程可以得到不同的表示。

      使用的不同Client可以使用相同的Builder,得到不同相同的表示。

    在前面RTFReader阅读器的例子中:

      如果提供ASCIIText Converter 则只能得到ASCIIText,提供TexText Converter则可以得到TexText。

      如果使用XMLReader,提供ASCIIText Converter 使用Director得到不同于的ASCIIText的表示。

      所以将构造代码和表示代码分开,可以使代码得到重用。

    3 精确的控制导向产品的创建

      将代码的构建过程委托为Director去完成,那么Client可以不用关注产品的构建过程

      何时完成或者完成到什么程度,交给Director去控制产品的创建和装配的过程。并返回所创建的产品,或者通知Client。

  • 相关阅读:
    python3 基础数据类型之列表及其操作方法
    python3 逻辑运算符
    python3 内置函数
    python3 装饰器
    python3 变量作用域
    python3 参数以及函数的传参
    python3 函数基础
    洛谷P3379倍增LCA
    洛谷P3375KMP字符串匹配
    洛谷P2613有理数取余
  • 原文地址:https://www.cnblogs.com/fenglongyu/p/7410280.html
Copyright © 2011-2022 走看看