【发布时间】:2020-03-12 13:32:22
【问题描述】:
我正在为我的 OOP 考试设计一个简单的 Java 游戏应用程序。
关键点似乎是数据库。我已经建模了一个DBConnector 类,它应该管理与数据库的所有交互。它们是:
- 提供所有可用歌曲的列表(这个游戏有点像 OSU)
- 下载/上传新歌
- 提供每场比赛的排名
我认为 Singleton 模式可能适用于 DBConnector,因为整个应用程序只需要此类的一个实例。
但这样做严重违反了单一职责原则 (SRP)。事实上,这个类可以被修改的原因不止一个,一个用于前面描述的每个函数 [1), 2), 3)]。
我想知道在 Singleton 类和使用它来检索数据的其他类之间应用适配器接口(因此使用 Adapter 模式)是否可以改善事情。 SRP 违规将继续存在,但至少这些类不会受到 DBConnector 代码中的任何更改的影响。
【问题讨论】:
标签: design-patterns singleton adapter software-design class-diagram