c++ - 如何使用单一职责原则
问题描述
我正在尝试理解 C++ 中的设计原则。
在数据库中我有用户。
users:
id
name
age
gender
我想通过三种方式获得我的用户。
- 第一:我想要我的所有用户。
- 第二:我希望我的所有用户都按年龄过滤。
- 第三:我希望我的所有用户都按年龄和性别过滤。
例如,如果我为 getAllUsers 和 getFilteredByAge 使用同一个类,这意味着我的类有两个职责,它负责获取用户和过滤用户。我是对还是错?在这个例子中,单一职责原则是如何工作的,我应该把这三个分成不同的类,还是有更好的方法?
解决方案
SRP 的一个很好的定义是:
一个模块应该只对一个参与者负责。
(清洁架构)
这意味着如果告诉您这些功能做什么的人是相同的,那么您可以将它们留在同一个类/模块中。
比方说,如果getAllUsers()
会计getUserAtLeastThisOld(int minimumAge)
要求和 HR 要求,那么将它们放在不同的类中可能是明智的。
推荐阅读
- javascript - 如何在本地测试 socket.io 上的 https?
- java - Jackson 将 CSV 反序列化为 Enum
- linux - 使用 sed 搜索和替换配置文件值
- json - 快速解码 JSON 数组或字典错误
- javascript - Chrome 扩展被拒绝:是否禁止从后端获取任何 json 数据?
- swift - 在 Swift 中通过调用 firebase 云函数进行自动完成来获取结果的性能问题
- sql - SQL Server 中的列名
- c# - 在 ListBox 中未触发具有 NotifyOnSourceUpdated 的 SourceUpdated
- javascript - 在 html 页面加载之前加载 php
- reactjs - 如何在 React with Webpack 中使用 CommonJS 模块?