SOLID软件设计原则之SRP

本想把SOLID五大原则整理成一篇,放假在即,发现时间有点来不及了,只能分开来写。

要构建一个良好的软件系统,整洁的代码和整洁的架构缺一不可。而我们在实际开发过程中,常常无视设计原则,“随心所欲”地编程,当然,好的软件系统需要工程师经验的积累和认知的升级。

SOLID原则是面向对象软件设计五大原则(SRP、OCP、LSP、ISP、DIP)的首字母缩写,这些原则会让我们的软件更加健壮和稳定,并能最大限度地降低构建和维护一个系统所需的人力资源和时间成本。今天我们就按照字母顺序,介绍第一个原则 — SRP原则(单一职责原则)。

SRP全称是The Single Responsibility Principle,基于康威定律的一个推论,即一个软件系统的最佳结构高度依赖于开发这个系统的组织的内部结构。这样,每个软件模块都有且只有一个需要被改变的理由,也就是任何一个软件模块都应该只对某一类行为者负责。具体到类的设计,就是让一个类只承担一种责任,不同的职责需要分离出来放在不同的类中,这样,一个职责需要修改的时候,不会影响到另外的功能。

一个反例:

以下是一个雇员类,包含了财务部门需要的功能calculatePay(),和人力资源部门需要的功能reportHours(),这就把两类行为耦合在了一起,当一个部门修改了自己所需的功能之后,就有可能导致另外一个部门所需功能受到影响。

class Employee
{
    //employee data
    //some shared basic functions
    
    calculatePay();    //财务部门功能
    reportHours();     //人力资源部门功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值