快速理解 SOLID (面向对象设计)——单一职责原则

快速理解 SOLID (面向对象设计)——单一职责原则

在程序设计领域, SOLID(单一功能、开闭原则、里氏替换、接口隔离以及依赖反转),指代了面向对象编程和面向对象设计的五个基本原则。当这些原则被一起应用时,它们使得一个程序员开发一个容易进行软件维护和扩展的系统变得更加可能。

1. 单一职责原则

1.1 单一职责原则 的定义

不要存在多于一个导致类变更的原因。简单的讲,认为对象应该仅具有一种单一功能。

1.2 单一职责原则 解决了什么问题

类A 负责两个职责P1职责P2。当由于职责P1需求发生改变时,而需要在类A中修改职责P1。有可能使原本正常运行的职责P2发生故障。

1.3 单一职责原则 举个例子

//不符合 单一职责原则
public class UserService {
    // ...增加 User 功能
    // ...删除 User 功能
    // ...更新 User 功能
    // ...查询 User 功能
    
    // ...User 登录功能
}

上面这个UserService类可以看作有两个职责:

  1. 对 User 数据的操作。
  2. 对 User 验证。

根据单一职责原则应该将这两个职责分别放在两个类中:

//符合 单一职责原则
public class UserDataService {
    // ...增加 User 功能
    // ...删除 User 功能
    // ...更新 User 功能
    // ...查询 User 功能
}
public class UserAuthService {
    // ...User 登录功能
}

1.4 单一职责原则 的优点

  • 降低类的复杂度,一个类只负责一种职责。
  • 提高代码的可读性。
  • 降低更改需求带来的风险,降低对其他功能的影响。

2. 关注我的微信公众号,查看更多文章,第一时间收到我的文章。

快速理解 SOLID (面向对象设计)——单一职责原则

SOLID (面向对象设计)——单一职责原则,你学会了吗?