zoukankan      html  css  js  c++  java
  • 设计模式 —— 总结

    一个目标

    管理变化,提高复用

    两种手段

    分解 vs 抽象

    八大原则

    依赖倒置原则

    开放封闭原则

    单一指责原则

    Liskov替换原则

    接口隔离原则

    对象组合优于继承

    封装变化点

    面向接口编程

    原则比具体的设计模式更重要,内化原则

    重构技法

    静态 —> 动态

    早绑定 —> 晚绑定

    继承 —> 组合

    编译时依赖 —> 运行时依赖

    紧耦合 —> 松耦合

    从封装变化的角度对模式分类

     像Builder,Mediator等一些设计模式在平时用的不多,也有些是因为C++在语言特性上的进步使得某些模式的使用性价比不高。

     C++对象模型

    以上的设计模式最后都殊途同归,如第三种对象模型,都是通过一个指针指向一个多态对象表达灵活性。

     关注变化点与稳定点

    当软件中所有部分都处于变化之中,就没有设计模式能解决,当软件中所有部分都稳定,也没有必要使用设计模式。当然这两种极端的情况很少会出现,一般的软件的稳定与变化是呈正态分布的,

    什么时候不用设计模式

    代码可读性很差时

    需求理解还很浅时

    变化没有显现时

    不是系统的关键依赖点

    项目没有复用价值时

    项目将要发布时

    代码可读性是软件最基础的质量保证,模式是在基础工作做好之后才用的。

    经验之谈

    不要为模式而模式

    关注抽象类&接口

    理清变化点和稳定点

    审视依赖关系

    要有Framework和Application的区隔思维

    良好的设计是演化的结果

    设计模式成长之路

    “手中无剑,心中无剑”:见模式而不知

    “手中有剑,心中无剑”:可以识别模式,作为应用开发人员使用模式

    “手中有剑,心中有剑”:作为框架开发人员为应用设计某些模式

    “手中无剑,心中有剑”:忘掉模式,只有原则

  • 相关阅读:
    多线程
    异常处理
    面向对象-Object对象、匿名内部类
    接口、多态、instanceof关键字
    性能测试——记weblogic 连接池满无法链接故障诊断过程
    性能测试——记XX银行电票系统上线后宕机问题诊断优化
    性能测试——深圳个贷营销项目出差总结
    软件性能故障诊断分析流程培训
    OutOfMemoryError本地线程不足问题分析
    loadrunner比较有用的字符串函数
  • 原文地址:https://www.cnblogs.com/y4247464/p/15524445.html
Copyright © 2011-2022 走看看