zoukankan      html  css  js  c++  java
  • 设计模式6大基本原则之(一)

    版权声明:本文为博主原创文章,转载请注明出处:http://blog.csdn.net/zhangzijiejiayou https://blog.csdn.net/zhangzijiejiayou/article/details/28110119

    单一职责原则(Single Responsibility Principle)

        就一个类而言。应该仅有一个引起它变化的原因。

    为什么要遵循单一职责?

        假设一个类承担的职责过多的,就等于把这些职责混合在一起。一个职责的变化可能会削弱或者抑制这个类完毕

    其它职责的能力。

    这样的耦合会导致脆弱的设计,当变化发生时,设计会遭到意想不到的破坏。

    怎样分离出遵循单一职责的类?

        软件设计真正要做的很多内容,就是发现职责并把那些职责相互分离。假设你能够想到多于一个动机去改变一个

    类,那么这个类就有多于一个的职责。

    小编寄语:单一职责减少了职责之间的耦合程度,也就是减少了类之间的耦合度,增强了类的内聚性。

    通过将功能复

    杂的类的职责分离。分成若干个类增强了代码的可维护性和可复用性。

    体现了面向对象编程的基本原则。

    开放—封闭原则(Open Close Principle)

        软件实体(类、模块、函数等等)应该可能够扩展。可是不可改动。

    也就是说。这个原则应该具备两个基本特征:对于扩展是开放的。对于更改是封闭的。

    怎么遵循?

        我们在设计的时候。要时刻考虑尽量让这个类是足够好,写好了就不要去改动,假设有新的需求我们仅仅须要添加

    新的类。原来的代码不能动则不动。但无论模块多‘封闭’都会存在一些无法对之封闭的变化。既然不可能全然封

    闭,设计人员必须对于他设计的模块应该对哪种变化封闭作出选择。他必须先推測出最有可能发生变化的种类,然后

    构造抽象隔离哪些变化。

        小编寄语:我们在做不论什么系统的时候。都不要指望系统会一開始需求确定,就再也不会变化。这是不现实的也是

    不科学的想法。通过开放—封闭原则能够对需求的改变保持相对稳定,从而使得系统在第一个版本号以后不断推出新的

    版本号。开放—封闭原则是面向对象设计的核心所在、遵循这个原则能够带来面向对象技术所声称的巨大优点(可维

    护、可扩展、可复用、灵活性好)。开发者应该仅对程序在呈现出频繁变化的部分作出抽象,然而,对于程序中的

    每一个部分都刻意地进行抽象相同不是一个抽象。

    依赖倒转原则(Dependence Inversion Principle)

         A.高层模块不应该依赖低层模块。B.抽象不应该依赖细节。

    说白了就是要针对接口编程,不要针对实现编程。

    遵循依赖倒转原则的优点?

        通过面向接口编程,无论是高层模块还是低层模块。仅仅要有稳定的接口,那么不论什么一个更改都不用操心其它受到

    影响。无论是高层模块还是低层模块都能够非常easy地被复用。

        小者寄语:依赖倒转原则事实上能够说是面向对象的标准,用哪种语言来编敲代码不重要,假设编写时考虑的都是

    怎样针对抽象编程而不是针对细节编程,即程序中全部的依赖关系都是终止于抽象类或者接口,那就是面向对象的设

    计。反之那就是程序化设计了。




查看全文
  • 相关阅读:
    elasticsearch-搜索-定位搜索(十一)
    redis-缓存设计-自动延迟调度,最热商品缓存(二)
    20200925
    20175312 2018-2019-2 实验一《Java开发环境的熟悉》实验报告
    20175312 2018-2019-2 《Java程序设计》结对编程练习_四则运算(第一周:阶段性总结)
    20175312 2018-2019-2 《Java程序设计》第5周学习总结
    20175312陶光远 与 20175309刘雨恒 结对
    20175312 2018-2019-2 《Java程序设计》第4周学习总结
    20175312 2018-2019-2 《Java程序设计》第3周学习总结
    20175312 2018-2019-2 《Java程序设计》第2周学习总结
  • 原文地址:https://www.cnblogs.com/ldxsuanfa/p/10525906.html
  • Copyright © 2011-2022 走看看