`
enki_ding
  • 浏览: 211197 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

单一职责

阅读更多

单一职责原则的英文名称是:Single Responsibility Principle,简称SRP。让一个接口做一件事情,让一个方法做一件事情。

SRP的原话解释是:There should never be more than one reason for a class to change(不应该有一个以上的理由来改变一个类).

 

单一职责的好处

  • 类的复杂性降低,实现什么职责都有清晰明确的定义
  • 可读性高。复杂性降低,可读性当然提高了
  • 可维护性提高。可读性提高了,自然就更容易维护了
  • 变更引起的风险降低,变更是必不可少的,如果接口的单一职责做得好,一个接口修改只对相应的实现类有影响,对其他的接口无影响,这对系统的扩展性、维护性都有非常大的帮助。

举个简单的例子,

public interface UserDAO{
      
      public boolean updateUserInfo(User user)throws Exception;

}

 如上面的updateUserInfo方法,就违背了单一职责原则,笼统的方法,为什么这样说呢?一个用户的资料,多种多样。其实可以细分为updateUserName,updateUserPassword。。。等

public interface UserDAO{
     
      public boolean updateUserName(String userName);

      public boolean updateUserPassword(String pwd);

}
 

类的单一职责受非常多的因素制约,纯理论地来讲,这个原则非常优秀,但是现实有现实的难处,你必须去考虑项目工期、成本、人员技术水平、硬件情况、网络情况甚至还要考虑政府政策、垄断协议等因素。

 

所以,对于单一职责原则,建议是接口一定要做到单一职责,类的设计尽量做到只有一个原因引起变化。

分享到:
评论

相关推荐

    单一职责模式例子。

    在软件设计领域,单一职责原则(Single Responsibility Principle,简称SRP)是面向对象设计的六大原则之一,由罗伯特·C·马丁(Robert C. Martin)在其著作《Clean Code》中提出。这个原则强调一个类或者模块应当...

    C#俄罗斯方块源码(单一职责原则)

    【标题】"C#俄罗斯方块源码(单一职责原则)" 涉及到的核心知识点主要是C#编程语言以及软件设计原则中的“单一职责原则”(Single Responsibility Principle, SRP)。C#是一种广泛用于开发Windows应用程序、Web服务和...

    单一职责原则(SRP)

    单一职责原则(SRP) 单一职责原则(SRP)是面向对象设计的五个基本原则之一。该原则规定,一个类应当只有一个引起它变化的原因。换言之,一个类应该只有一个职责,避免一个类承担多个职责,从而降低类的耦合度和...

    设计模式(三)之单一职责原则.zip

    单一职责原则可以使类的复杂度降低,实现什么职责都有清晰明确的定义;类的可读性提高,复杂度降低;可读性提高了,代码就更容易维护;变更(需求是肯定会变)引起的风险(包括测试的难度,以及需要测试的范围)降低...

    设计模式六大原则(1):单一职责原则

    本文将深入探讨这六大原则中的第一个——单一职责原则(Single Responsibility Principle, SRP),并结合AcountYear.java这个文件名来解析该原则的应用。 单一职责原则指出,一个类或者一个模块应该只有一个引起它...

    单一职责原则

    **单一职责原则(Single Responsibility Principle, SRP)**是面向对象设计中的一个重要原则,由罗伯特·C·马丁(Robert C. Martin)提出。这一原则指出,一个类或者模块应该有且只有一个职责,即它应该只负责一项...

    设计模式6大原则:单一职责原则

    设计模式6大原则:单一职责原则

    15丨理论一:对于单一职责原则,如何判定某个类的职责是否够“单一”?1

    【单一职责原则】是软件设计中的一个重要原则,它是SOLID原则的首字母S代表的含义。SOLID原则是由五个设计原则组成的,分别是:单一职责原则(Single Responsibility Principle, SRP)、开闭原则(Open-Closed ...

    Java设计模式中单一职责原则详解.rar

    其中,"单一职责原则"(Single Responsibility Principle,SRP)是面向对象设计的基本原则之一,也是Java设计模式中的重要组成部分。本篇文章将深入探讨单一职责原则的概念、意义、应用及其在Java编程中的实际运用。...

    单一职责原则.pdf

    **单一职责原则(Single Responsibility Principle, SRP)**是面向对象设计的基本原则之一,由罗伯特·C·马丁(Robert C. Martin)提出,并在《敏捷软件开发:原则、模式和实践》中阐述。这一原则是SOLID原则的首...

    14丨软件设计的单一职责原则:为什么说一个类文件打开最好不要超过一屏?.pdf

    【单一职责原则】是软件设计中的一个重要原则,它源自于"设计模式:可复用对象的设计与模式"这本书,由Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides四位作者共同提出,通常被简称为SOLID原则之一。...

    6单一职责原则-课程内容.rar

    《单一职责原则详解》 在软件工程领域,设计原则是构建高质量、可维护代码的关键指导方针。其中,“单一职责原则”(Single Responsibility Principle,SRP)是面向对象设计的五个核心原则之一,由罗伯特·C·马丁...

    6单一职责原则-MOOC课程内容.pdf

    单一职责原则(Single Responsibility Principle,简称SRP)是面向对象设计(OOD)中的一个基本原则。它强调每个类应该只有一个改变的理由,意味着一个类应该只有一个职责,只有一个因素能引起这个类的变更。当类...

    单一职责源码

    在软件设计领域,单一职责原则(Single Responsibility Principle, SRP)是面向对象设计的基本原则之一,由罗伯特·C·马丁(Robert C. Martin)在其著作《Clean Code》中提出。这一原则强调一个类或者模块应该有且...

    简单讲解Java设计模式编程中的单一职责原则

    Java设计模式中的单一职责原则(Single Responsibility Principle,SRP)是面向对象设计的基本原则之一,它的核心思想是:一个类或者一个模块应该只有一个引起它变化的原因。这意味着一个类应该只负责一项职责,使得...

    PHP面向对象五大原则之单一职责原则(SRP)详解

    单一职责原则(SRP)是面向对象设计中的一个基本原则,它要求一个类应该只有一个引起它变化的原因。在PHP等面向对象编程语言中,遵守这一原则可以帮助开发人员编写出结构更清晰、维护性更强的代码。接下来,我们将详细...

    图形编辑器GraphicEditor类需要遵循单一职责原则,即一个类只负责完成一个功能或职责.uml

    图形编辑器GraphicEditor类需要遵循单一职责原则,即一个类只负责完成一个功能或职责.uml

    单一职责1

    【单一职责原则(Single Responsibility Principle, SRP)】是SOLID设计原则中的第一个原则,它强调的是一个类或者模块应当有且只有一个改变的原因。在JavaScript编程中,这意味着一个函数或对象应该只负责一项任务...

    深入理解JavaScript系列(6):S.O.L.I.D五大原则之单一职责SRP

    **深入理解JavaScript系列(6):S.O.L.I.D五大原则之单一职责SRP** 在软件工程中,S.O.L.I.D原则是面向对象设计的基本准则,由Robert C. Martin(Bob大叔)提出,用于提高代码的可读性、可维护性和可扩展性。这五个...

Global site tag (gtag.js) - Google Analytics