学习设计模式 - 六大基本原则之单一职责原则
设计模式总共有六大基本原则,统称为SOLID (稳定)原则,分别是S-单一职责原则(Single Responsibility Principle), O-开闭原则(Open closed Principle),L-里氏替换原则(Liskov Substitution Principle),L-迪米特法则(Law of Demeter),I-接口隔离原则(Interface Segregation Principle),D-依赖倒置原则(Dependence Invension Principle)。
S-单一职责原则(Single Responsibility Principle)
一、定义
应该有且仅有一个原因引起类的变更。(There should never be more than one reason for a class to change.)
二、理解
一个接口或类只有一个职责,它只负责干一件事,也就是只有一个原因引起它的变化。单一职责原则提出了一个编写代码的标准,用"职责"或"变化原因"来判断一个接口或类是否设计优良,但"职责"和“变化原因”都是不可度量的,因项目而异,因环境而异。
如上,图1-1的IUserInfo接口包含了多个职责,职责不分明,所以可拆分成用负责户属性和负责用户行为两个职责。职责分离,当有一天需要修改负责用户属性这个职责时,并不用担心影响到用户行为这个职责,这就是单一职责的好处。
三、优缺点
优点:
1. 单一职责,复杂性降低
2. 可读性提高
3. 可维护性提高
4. 变更的风险降低,如果一个接口的单一职责做的好,修改接口只对相应的实现类有影响,对其他接口无影响,这对系统的
扩展性和维护性都有非常大的帮助
缺点:
暂无
四、 注意事项
单一职责原则提出了一个编写程序的标准,用“职责”或“变化原因”来衡量接口或类设计是否优良,但是“职责”和“变化原因”都是不可度量的,因项目而异,因环境而异。
对于接口,我们在设计的时候一定要做到单一,但是对于实现类就需要多方面考虑了。生搬硬套单一职责原则会引起类的剧增,给维护带来非常多的麻烦,而且过分细分类的职责,会认为的增加系统的复杂性。本来一个类可以实现的行为硬要拆分成两个类,然后再使用聚合或组合的方式耦合再一起,人为制造了系统的复杂性。
建议:接口一定要做到单一职责,类的设计尽量做到只有一个原因引起变化。
学习资料:
《设计模式之禅》秦小波 著
单一职责原则
转载于:https://www.cnblogs.com/timfruit/p/9306098.html
学习设计模式 - 六大基本原则之单一职责原则相关推荐
- 学习设计模式 - 六大基本原则之接口隔离原则
设计模式总共有六大基本原则,统称为SOLID (稳定)原则,分别是S-单一职责原则(Single Responsibility Principle), O-开闭原则(Open closed Princ ...
- 学习设计模式 - 六大基本原则之开闭原则
设计模式总共有六大基本原则,统称为SOLID (稳定)原则,分别是S-单一职责原则(Single Responsibility Principle), O-开闭原则(Open closed Princ ...
- 设计模式 学习笔记(2)单一职责原则、开放封闭原则、依赖倒转原则
(3)单一职责原则 单一职责原则(SRP),就一个类而言,应该仅有一个引起它变化的原因.例如,我们在写一个窗体应用程序,一般都会生成一个Form这样的类,于是我们就把各种各样的代码,像算法.数据库访问 ...
- 每天一学设计模式(一、单一职责原则)
引言 本文参考以下这篇文章 https://blog.csdn.net/guorui_java/article/details/125947300 定义 单一职责原则(Single responsib ...
- 设计模式个人总结,单一职责原则总结
总结经验 近期自学Unity引擎,学到了关于设计模式这一块,以前学习Java多次接触设计模式,也在应用的开发过程中频繁使用.虽然开发过程中没有特意去强调使用设计模式,但设计模式的使用总是潜移默化的,现 ...
- 设计模式之禅之单一职责原则
声明:本文为阅读秦小波所写的<设计模式之禅>所写小结,文章内容可能有部分引述此书. 单一职责原则(Single Responsibility Principle) 1.定义: 在接口 ...
- 设计模式(一)---单一职责原则
单一职责原则:就一个类而言,应该仅有一个引起它变化的原因. 如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或抑制这个类完成其他职责的能力.这种耦合会导致脆弱的设计,当变 ...
- python设计模式六大原则_学习设计模式 - 六大基本原则之迪米特法则(示例代码)...
设计模式总共有六大基本原则,统称为SOLID (稳定)原则,分别是S-单一职责原则(Single Responsibility Principle), O-开闭原则(Open closed Princ ...
- 设计模式-单一职责原则
设计模式-单一职责原则 单一职责原则使用的是创建型模式 创建型模式 创建型模式对类进行抽象 重点,创建型模式能够将对象的创建和和对象的使用分离.即使用创建型模式能够使得对象的创建,对象的使用分离.重点 ...
最新文章
- MindSpore基准性能
- 企业搜索引擎开发之连接器connector(二十七)
- php数组实例,PHP数组实例总结及说明
- VS2017 无法使用XXX附加到应用程序
- Maven项目jar包依赖冲突的原因以及解决办法
- 山西尚呈:拼多多砍价窍门秘诀及攻略?
- 《彼得林奇的成功投资》一——好公司第一位,价格第二位
- 人体下肢表面肌电,足底压力和关节角度分析
- luoguP1357 花园
- SpringBoot开发常用技术这些你知道吗???
- Git的4 个阶段的撤销更改(通俗易懂)
- ERP“创建会计科目”的请求数据量过大报黄
- 网站日志分析(二)——利用Quick BI制作企业化报表分析
- vscode 一键生成vue代码
- 反射镜镀膜与波长关系
- 标准日期格式转化为“年月日时分秒”——padStart()补0问题
- 使用荷兰式拍卖模型以最优惠的价格出售您的 NFT
- 第三方支付下半场:强监管料将持续,下一片“蓝海”在哪儿?
- 【linux 绑核】CPU 绑核
- 南京邮电大学通信与计算机哪个好,南京邮电大学和深圳大学哪一个更好呢?都有哪些好的专业?...