zoukankan      html  css  js  c++  java
  • 设计模式 一 引言

    如何描述一个设计模式:

    1.   模式名和分类  模式名简洁地描述了模式的本质。
    2. 意图  设计是做什么的?它的基本原理和意图是什么?他解决的是什么样的特定的设计问题
    3. 别名
    4. 动机  用以说明以俄国设计问题以及如何用模式中的类、对象来解决该问题的特定情景。该情景会帮助你理解随后对模式更抽象的描述。
    5. 适用性 什么情况下可以使用该设计模式?该设计模式可用来改进那些不良的设计?你怎样识别这些情况?
    6. 结构 采用基于对象建模技术的表示法对模式中的类进行图形描述。我们也使用了交互图来说明对象之间的请求序列和协作关系。
    7. 参与者 指设计模式的类和或对象以及它们各自的职责
    8. 协作  模式的参与者怎样协作以实现它们的职责
    9. 效果 模式怎样支持它的目标?使用模式的效果和所需做到权衡取舍?系统结构的那些方法可以独立改变。
    10. 实现 实现模式时需要知道的一下提示、技术要点及应避免的缺陷,已经是否存在某些特定于实现语言的问题
    11. 代码示例
    12. 已知应用

     怎样选择一个设计模式:

    1. 考虑设计模式时怎样解决设计问题的
    2. 浏览模式的意图部分。通过读每个模式的意图,找出和你的问题相关的一个或多个模式。
    3. 研究模式怎样相关联 
    4. 研究目的相似的模式
    5. 检查重新设计的原因
    6. 考虑你的设计中哪些是可变的  这个方法与关注重新设计的原因刚红啊相反。它不是考虑什么会迫使你的设计改变,而是考虑你想要什么样的变化却又不会引起重新设计,最主要的一点是封装变化的概念。

    怎样使用设计模式:

    一旦你选择了一个设计模式,你怎样使用它哪?

    1. 大致浏览一遍模式 特别注意其实用性部分和效果部分,确定它适合你的问题
    2. 回头研究结构部分、参与者部分和协作部分 确保你理解这个模式的类和对象以及它们是怎样关联的
    3. 看代码示例部分,看看这个模式代码形式的具体例子 研究代码将有助于你实现模式
    4. 选择模式参与者的名字,使它们在应用上下午中有意义 设计模式参与者的名字通常通过抽象而不会直接出现在应用中。将参与者的名字和应用中出现的名字合并起来是很有用的。
    5. 定义类 声明它们的接口,建立它们的继承关系,定义代表数据和对象引用的实例变量。识别模式会影响到你的应用中存在的类,做成相应的修改
    6. 定义模式中专用于应用的操作名称 名字一般依赖于应用,命名约定要一致
    7. 实现执行模式中责任和协作的操作 实现部分提供线索指导你的实现

     

  • 相关阅读:
    python正则表达式
    pyperclip模块
    python画国旗
    linux6.5禁用telnet
    限制用户su到root
    按系统日期生成目录
    微软windows logo配色rgb
    fastclick使用与 fastclick ios11.3相关bug原因(ios输入框点击变得不灵敏,ios input失焦后,页面上移,点击不了)
    vue iframe嵌套页面高度自适应 (ios 宽度扩大的bug , ios展示比例问题)
    iOS设备 微信h5页面回退 内容不刷新的问题
  • 原文地址:https://www.cnblogs.com/lufangtao/p/2468973.html
Copyright © 2011-2022 走看看