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地被复用。

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

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

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




查看全文
  • 相关阅读:
    SpringMVC中静态获取request对象 Spring中获取 HttpServletRequest对象【转载】
    springcloud 的loadbalancer 轮询算法切换方法 2021.4.3
    springboot项目启动增加图标
    rabbitmq 端口作用以及修改方法
    centos8 安装rabbitmq
    springcloud config client Value获取不到信息的问题的处理方法
    springcloud config配置git作为数据源然后启动报错 If you want an embedded database (H2, HSQL or Derby), please put it on the classpath.
    Sublime Text的列模式如何操作
    centos8 安装redis
    jQuery简单的Ajax调用
  • 原文地址:https://www.cnblogs.com/ldxsuanfa/p/10525906.html
  • Copyright © 2011-2022 走看看