高质量编程的金玉良言——单一职责原则

“单一职责原则”的官方定义:

就一个类而言,应该仅有一个引起它变化的原因。

大白话讲:

在设计类的时候,应该要让每一个类仅有一个职责,每一个类只做一类事情,这就是单一职责原则。

“每一个类只做一类事情”的好处:

如果一个类承担的职责过多,就等于把这些职责藕合在一起,一个职责的变化可能会削弱或抑制这个类完成其他职责的能力。

这种藕合会导致脆弱的设计,当变化发生时,设计会遭到意想不到的破坏。

在程序设计时,我们需要在类的职责分离上多加思考,做到单一职责,这样你的代码才是真正的易维护、易复用、灵活多样。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏架构师之旅

轻松学习设计模式之设计模式认知篇

伴随着上面的问题,我们逐步开始今天的话题,要想开始学习设计模式,我们必须要对它有一个了解,这样才能更好的理解和应用,在我看来设计模式就是一种成熟的面向对象软件开...

1044
来自专栏Golang语言社区

编程思想:面向对象和面向过程

何谓面向对象?何谓面向过程?对于这编程界的两大思想,一直贯穿在我们学习和工作当中。我们知道面向过程和面向对象,但要让我们讲出来个所以然,又感觉是不知从何说起,最...

3565
来自专栏理论坞

【教程】C4D文字线立体体现

722
来自专栏企鹅号快讯

争论背后的编程语言:谁最容易出bug?

【IT168 评论】10月份,ACM发布了一个关于编程语言对软件质量的影响的研究报告,在报告中有一些关于bug的有趣发现。 研究人员Baishakhi Ray,...

1856
来自专栏Java学习网

程序员面试的标准答案并不标准

程序员面试的标准答案并不标准 Peter Verhas在技术面试时问了一个看似无关的问题,并得到了一个虽然没错但并不恰当的答案。随后,他宣称,“有时候,我会碰到...

2307
来自专栏PPV课数据科学社区

【工具】如何根据变量类型选择数据分析方法?

面对大量数据,你将如何开展数据分析?您会选择什么样的数据分析方法呢?您是否看着数据感到迷茫,无所适从。认真读完这篇文章,或许你将有所收获。 把握两个关键 1、抓...

2706
来自专栏Cloud Native - 产品级敏捷

要能真正提升产品开发团队的效率与质量, 你必需要懂得如何 ”设计” 开发团队所需要的实践或框架

2016.7.30, 深圳, Ken Fang 在 IT 这一行, 懂得而且能倒背如流 Scrum, SAFe, Use Case, Domain Drive...

1749
来自专栏Cloud Native - 产品级敏捷

敏捷开发下, 如何将需求分析,架构(软件)设计,开发与测试,一气呵成式的结合且高效的完成 ?

产品开发中,时常会发生类似如图中 “削马铃薯”的悲剧。 悲剧的发生,往往是由于我们只传递了 “要作什么功能”给开发人员。却缺乏了一个有效的且轻量级的实践,能在正...

2019
来自专栏Java架构

资深架构师谈Java——最牛逼的编程语言Java超越了所有咒骂它的“动态语言”Java的“继承人”没能超越它Java没有特别讨厌的地方结论程序员进阶方法

1664
来自专栏Cloud Native - 产品级敏捷

Product Owner 为何老是带不好团队?

Product Owner 正面且积极的看待团队开发人员能力上的问题,Product Owner 才能即时的淘汰不适任的开发人员。团队也才能真正的拥有效率,产品...

1895

扫描关注云+社区