【发布时间】:2020-04-23 06:48:09
【问题描述】:
假设在我的项目中,我有接口、网络、数据库和中介类。
例如,当我在 Interface 上单击“Send”时,它会与 Mediator 对话并调用一个函数“Send”,然后该函数将与 Network 类和 Database 类对话以发送并保存它或其他什么。
如果我删除 Mediator 类,我将不得不从 Interface 中分别与两个单独的类,Network 和 Database 进行对话。
问题是我认为有一个 Mediator 类打破了单一责任原则,它是一个存储其他 3 个类(接口、数据库和网络)并管理它们之间所有交互的类,它不是一个大类,但是有一个更好的方法?我应该在每个班级中独立地参考我需要的每个其他班级吗?谢谢
【问题讨论】:
-
它是如何破坏 SRP 的?如果它的目的是管理它们之间的交互并且只这样做,这并不违反原则
-
说你刚才说“fu**”,我弄错了关于 SRP 的理论。
标签: c++ architecture