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

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

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

大白话讲:

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

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

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

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

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

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云计算D1net

确保混合云安全成为共同的责任

云计算安全是一项共同的责任:当服务提供商为底层基础设施提供安全保护时,组织需要负责保护其自身数据。这进一步意味着实施访问策略、确保正确加密,以及管理云服务的整体...

773
来自专栏DevOps时代的专栏

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

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

591
来自专栏EAWorld

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

作者 Andrew Phillips 译者 张斌 持续交付(CD)是一种软件策略,它使企业尽可能快速有效地向用户提供新特性。持续交付的核心思想是创建可重复、可靠...

2783
来自专栏量子位

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

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

2814
来自专栏技术翻译

人工智能促进Web开发的五种方法

Web开发是一个不断变化的领域。用户一直在寻找丰富的体验和个性化的内容。最终,他们想要的是能够提供高度定制的用户体验的智能web应用程序。然而,这对于web开发...

5370
来自专栏云计算D1net

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

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

3415
来自专栏SDNLAB

IT自动化架构加速NV采用

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

2766
来自专栏企鹅号快讯

微信产品经理的妥协还是用户的需求?

最大的不同:微信小程序游戏来了 ? 或许小程序的到来后,用户的核心需求并不能满足,毕竟微信小程序给予的入口不支持朋友圈分享、用完即走的概念,让小程序不能如同公众...

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

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

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

1334
来自专栏SDNLAB

Colin Dixion:OpenDaylight Beryllium的新热点

我想讲的慢一点,有意思一点,不像平常别人讲的那样快,我想让大家能够听的轻松一点。所以我谈一下opendaylight将做什么,以及将来发生的事情都给大家介绍一下...

3418

扫码关注云+社区