[设计模式] 设计模式课程(二十三)--总结

  • 一个目标:管理变化,提高复用
  • 两种手段:分解,抽象
  • 八大原则
  • 所有模式UML图的类名改为A, B ...,方法名改为F1(), F2()...
  • 三种模型
    • 继承和组合对象的内存模型一样
    • 组合对象缺乏变化,组合指针具备灵活性
    • 设计模式中多用组合指针(指针指向多态对象,表达灵活性,可用B1, B2...等子类替换B)

  • 关注稳定点和变化点
  • 一个模式的缺点就是它的稳定点
  • 没有稳定点,就无法用模式;没有变化点,就没必要用模式
  • 一个正常的软件,总是既有变化又有稳定

  • 什么时候不用模式
    • 代码可读性很差时
    • 需求理解还很浅时(软件的第一版)
    • 变化没有显现时
    • 不是系统的关键依赖点时(关键点优先用)
    • 项目没有复用价值时(外包软件)
    • 项目将要发布时(重构有代价)
  • 经验
    • 不要为模式而模式
    • 关注抽象类 & 接口
    • 理清变化点和稳定点
    • 审视依赖关系
    • 要有Framework和Application的区隔思维(开车和造车)
    • 良好设计是演化的结果
  • 成长之路
    • 手中无剑,心中无剑:见模式而不知
    • 手中有剑,心中无剑:可以识别模式,作为开发人员使用模式(的扩展点)
    • 手中有剑,心中有剑:作为框架开发人员为应用设计某些模式
    • 手中无剑,心中有剑:忘掉模式,只有原则
原文地址:https://www.cnblogs.com/cxc1357/p/12324998.html