六大设计原则(一)SRP单一职责原则

单一职责原则SRP(Single reponsibility principle)

BO(Business Object):业务对象
Biz(Business Logic):业务逻辑

SRP最简单的例子:用户信息维护类

单一职责原则SRP定义

应该有且仅有一个原因引起类的变更。(一个接口只有一个职责

SRP例子:电话通话过程

电话通话的过程:拨号、通话、回应、挂断。

如果按照一定职责进行划分:可以分为协议管理数据传送
协议管理:拨号和挂机。
数据传送:通话.
这个类中包含两个职责,但是拨号和挂机与通话互不影响相互独立(即拨号就是拨号,挂机就是挂机,他们两个在执行完后,进行通话,并不会再产生影响。)。此时该类可以进一步优化为两个职责即划分为两个接口。

组合关系:虚线箭头,整体与部分的关系,菱形指向整体部分,部分不能离开整体。(电话由协议部分和数据传送两部分构成,任何一个单独存在都不能使用)
实现关系:虚线空心箭头,类实现接口。
依赖关系:菱形箭头,使用关系:类的实现需要另一个类的协助。(数据传输的过程需要进行拨号和挂断)

组合关系是一种强耦合关系,由此划分会多出两个类,增加类的复杂性,因此可以才用面向接口编程重新设计此类图。

SRP优点

  • 类的复杂性降低,实现的职责有了清晰的定义。
  • 可读性提高。
  • 可维护性提高。
  • 变更引起的风险降低。

SRP存在的问题

  • SRP标准不同导致,职责可以有多种划分方法。单一职责划分提出了编写程序的标准,用职责和变化原因衡量,接口设计的优良,但是由于不同项目而导致的度量标准也是不同的。
  • SRP不能过分细分,否则会导致类的剧增,增加维护成本。

SRP应用范围

接口、类、方法。
SRP应用到方法中,每个方法的职责明确清晰。
如图,此方法根据参数类型进行绑定到userBo进行相关操作。即一个方法承担了多个职责。

改进后:一个方法承担一个职责

SRP总体要求

接口一定要做到单一职责,类的的设计尽量做到单一职责

(0)

相关推荐

  • 设计模式——六大设计原则

    文章目录 一.单一职责原则 二.里式替换原则 三.依赖倒置原则 四.接口隔离原则 五.迪米特法则 六.开闭原则 一.单一职责原则 单一职责原则简称 SRP,他想表达的就是字面意思,一个类只承担一个职责 ...

  • 面向对象的六大原则之 单一职责原则——SRP

    SRP = Single Responsibility Principle   定义:就一个类而言,应该只有一个能引起他变化的原因.通俗的说,即一个类只负责一项职责.   作用: 1.减少了类之间的耦 ...

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

    目录: 设计模式六大原则:单一职责原则 设计模式六大原则:接口隔离原则 设计模式六大原则:依赖倒置原则 设计模式六大原则:里氏替换原则 设计模式六大原则:迪米特法则 设计模式六大原则:开闭原则 单一职 ...

  • 设计模式的七大原则(1) --单一职责原则

    前言 最近工作中备受打击,之前设计的很多程序都被老大否决,需要重构,让我好好看看设计模式.之前对这一块内容的确不怎么重视,感觉枯燥无聊又派不上用场.后来沉下心来研究了一番... 我靠,原来如此,之前写 ...

  • 六大设计原则(二)LSP里氏替换原则

    里氏替换原则LSP(Liskov Subsituation Principle) 里氏替换原则定义 所有父类出现的地方可以使用子类替换并不会出现错误或异常,但是反之子类出现的地方不一定能用父类替换. ...

  • 【资料】23种设计模式和六大设计原则

    程序IT圈 www.cxyquan.com 优秀的程序猿技术公众号 1 设计模式的六大原则 ☛开闭原则 对扩展开放,对修改关闭.在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果.简 ...

  • 浅析交互设计的10种通用启发性原则,内附交互设计方法学习海报

    本文UXD将为同学们讲解由NN Group的Jakob Nielsen分享的交互设计的10条一般性通用原则.我们称之为"启发式"法则,因为它们是广泛的经验法则,而不是特定的可用性准 ...

  • 组织效率瓶颈往往来自高层,授权设计也要符合20/80原则 || 漫画流程管理014

    推荐大家把此系列漫画转发推送至企业内部,传播流程理念促进共识,也可以作为企业内刊/内网等宣传素材,私信我漫画编号索取高清原图 itiaozi.两个要求:(1)保留作者信息:(2)应用场景拍照回传,其他 ...

  • 漫画配合比!水泥混凝土配比设计应遵循的四个原则

    水泥混凝土的配比设计应遵循主要以下四个原则: (1)强度适宜原则: (2)良好工作性原则: (3)固定低用水量原则: (4)良好保水性原则. 要设计配合比,按照普通配合比设计规程是没多大用处的,基本上 ...