zoukankan      html  css  js  c++  java
  • 8、面向对象设计模式六大原则总结

    用抽象构建框架,用实现扩展细节

      因为抽象灵活性好,适应性广,只要抽象的合理,可以基本保持软件架构的稳定。而软件中易变的细节,我们用抽象派生的实现类进行扩展,当软件需要发生变化时,我们只需要根据需求重新派生一个实现类扩展就可以了。当然前提是我们的抽象要合理,需对抽象的变更有前瞻性和预见性才行。

      单一职责原则告诉我们实现类要职责单一;里氏替换原则告诉我们不要破坏继承体系;依赖倒置原则告诉我们要面向接口编程;接口隔离原则告诉我们在设计接口的时候要精简单一;迪米特法则告诉我们要降低耦合;而开闭原则是总纲,他告诉我们要对扩展开放,对修改关闭

     面向对象设计原则点到为止

      设计原则本身是思想层面上进行指导,本身是调试概括和原则性的,只是一个设计上的大体方向,其具体体现并不是只有设计模式这一种,理论上来说可以在相同的原则指正下,做出很多不同的实现来。

      每一种设计模式并不是单一的体现某一个设计原则,事实上,很多设计模式都是融合了很多设计原则的思想,并不好特别强调设计模式对某个或某些设计原则的体现。而且每个设计模式在应用的时候也会有很多的考量,不同使用场景下,突出使用的设计原则可能也是不一样的。

      这些设计原则只是一个建议指导,事实上在实际开发中,很少做到完全遵守,总是在有意无意的违反一些或者是部分设计原则。设计工作本来就是一个不断权衡的工作,有句话说的很好:设计模式是一种危险的平衡艺术,设计原则只是一个指导,有些时候,还是综合考虑业务功能,实现难度,系统性能,时间与目的等多方面的问题。

      设计模式已经很复杂了,在一门课程里面再去探讨这些设计原则,这样也避免出现过多的重点内容,导致大家无所适从。

    • 添加到短语集
       
      • 没有此单词集: -> ...
         
      • 创建新的单词集...
    • 拷贝
    • 添加到短语集
       
      • 没有此单词集: -> ...
         
      • 创建新的单词集...
    • 拷贝
  • 相关阅读:
    C语言I博客作业03
    C语言I博客作业06
    C语言I博客作业01
    C语言I博客作业04
    C语言I博客作业05
    How kNN algorithm works(kNN算法原理讲解)
    《机器学习笔记》环境配置(Windows64位)
    git 命令使用
    关于推荐系统中的冷启动问题探讨(Approaching the Cold Start Problem in Recommender Systems)
    WebForms UnobtrusiveValidationMode 需要“jquery”ScriptResourceMapping。请添加一个名为 jquery (区分大小写)的 ScriptResourceMapping。
  • 原文地址:https://www.cnblogs.com/sy-liu/p/12994976.html
Copyright © 2011-2022 走看看