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

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

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

大白话讲:

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

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

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

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

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

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云计算D1net

多云解决了一些复杂性,但也带来其他问题

企业使用多个云提供商的云服务,可以避免供应商锁定。但是,他们也给IT管理人员带来了更多的问题,而且采用工具并不总是能够解决这些问题。 ? 云计算提供商并不提供统...

3335
来自专栏花叔的专栏

11-9小程序新能力

11月9日发布的小程序新能力,其实在技术上没什么特点,就不做解读了,后头应该有更劲爆的。 “ 为帮助开发者快速推广小程序,公众号文章底部广告位现已支持推广小程序...

3557
来自专栏SDNLAB

IT自动化架构加速NV采用

企业网络最大的挑战之一是配置网络是缓慢的、繁琐的过程,这就导致了IT部门都不敏捷。网络虚拟化(NV)能够通过在应用程序和underlay网络中插入软件来解决这问...

2726
来自专栏SDNLAB

网络自动化和基于意图的网络(IBN)之入门篇

基于意图的网络(IBN)可以重新定义应用程序和服务在企业网络中的交付方式,但在此之前,这个概念必须先跟市场营销的宣传分离,并开始实现其承诺的优势。 ? 从ARP...

3276
来自专栏xingoo, 一个梦想做发明家的程序员

《一线架构师实践指南》—— 读后总结

之前总觉得架构是一件很高大上的工作,跟普通的编码设计不太一样。前一段实践,自己也尝试做过架构的工作,可惜经验不足导致架构非常混乱。这里读完这本书,大体上对架构...

24410
来自专栏云计算D1net

云计算固然好 但挑战依然存在

虽然云计算使用起来非常方便,对于用户来说也具有较好的成本效益,但它在整合和处理数据方面也可能带来新的挑战和要求。 ? 云计算的出现,让企业在投资IT和商业应用时...

3097
来自专栏WeTest质量开放平台团队的专栏

压测工具预约开放,让我们“约”起来!

作为国内最专业的游戏测试平台,腾讯WeTest平台在过去的几个月中,凭借着安全测试和适配测试帮助广大游戏开发者修正了无数游戏中的BUG。在新的一年到来之时,平台...

1234
来自专栏DevOps时代的专栏

持续交付流水线为何对软件开发如此重要?

持续交付(CD)是一种软件策略,它使企业尽可能快速有效地向用户提供新特性。持续交付的核心思想是创建可重复、可靠和逐步改进的过程,从而将软件从概念变为现实带给客户...

481
来自专栏量子位

谷歌助手为App开发者开放大量新特性,新增音箱到手机的交互

安妮 编译整理 量子位 出品 | 公众号 QbitAI ? 昨天,谷歌为第三方App开发人员开放了一套新功能,帮App开发人员推荐应用、提升用户体验和用户黏性。...

2754
来自专栏腾讯云技术沙龙

刘连响:小程序实时音视频在互动场景下的应用

今天为大家带来的分享是:小程序实时音视频在互动教育场景下的应用。我个人一直在做基础方面的研究,接触音视频也比较早,2013年的时候就开始做包括直播在内的相关产品...

3703

扫码关注云+社区