zoukankan      html  css  js  c++  java
  • 敏捷开发原则-SRP(单一职责原则)

    SRP(Single Responsibility Principle):

      定义:就一个类而言,应该仅有一个引起它变化的原因。(类,接口,方法等,都应该使用该原则)

      如果一个类承担了过多的职责,那么引起该类变化的原因也会随之变多。

    例如:

    一个图形类中包含了draw() 绘画功能和 area(), setWidth(), setHeight() 等图形自身的属性。

    这样的话 如果图形属性的计算方式发生改变,则这个类就要做出对应的修改。同样的,如果图形的绘画功能做出改变 那么这个类也要同步的做出修改。

    这样这个类其实已经开始违反SRP原则,随着Graphical类负责的职责越来越多,那么该类引起变化的原因也越来越多。就等于把这些职责耦合在一起了,这种耦合很容易引起脆弱的设计。

    如果以这样的方式拆分职责,让不同的类去处理不同的职责,那么这2个类之间的变动就互不影响。

    而且单一类中处理单一的职责可以提高代码的可读性,减低代码的复杂度。变相的提高了代码的可维护性。也能使得代码变得高内聚,低耦合。

     

    总结:

      SRP不是极端的要求我们对象只能定义单一的职责,它是通过这种极端的方式告诉我们,在定义对象职责时要着重考虑对象职责与对象之间的所属关系。

       虽然SRP的优点很明显,但是实现起来却很困难,因为职责的划分并没有固定的标准,并且每个开发人员对职责定位都不相同。

  • 相关阅读:
    visual studio 2010的安装
    安装操作系统的过程图解
    教育法学第八章单元测试MOOC
    教育法学第七章单元测试MOOC
    教育法学第六章单元测试MOOC
    教育法学第四章单元测试MOOC
    教育法学第三章单元测试MOOC
    教育法学第一章单元测试MOOC
    教育法学-第二章单元测验mooc
    单元测验4:人格知识大比武2mooc
  • 原文地址:https://www.cnblogs.com/culushitai/p/10255142.html
Copyright © 2011-2022 走看看