【问题标题】:Singleton and Adapter patterns together单例模式和适配器模式一起使用
【发布时间】:2020-03-12 13:32:22
【问题描述】:

我正在为我的 OOP 考试设计一个简单的 Java 游戏应用程序。 关键点似乎是数据库。我已经建模了一个DBConnector 类,它应该管理与数据库的所有交互。它们是:

  1. 提供所有可用歌曲的列表(这个游戏有点像 OSU)
  2. 下载/上传新歌
  3. 提供每场比赛的排名

我认为 Singleton 模式可能适用于 DBConnector,因为整个应用程序只需要此类的一个实例。 但这样做严重违反了单一职责原则 (SRP)。事实上,这个类可以被修改的原因不止一个,一个用于前面描述的每个函数 [1), 2), 3)]。

我想知道在 Singleton 类和使用它来检索数据的其他类之间应用适配器接口(因此使用 Adapter 模式)是否可以改善事情。 SRP 违规将继续存在,但至少这些类不会受到 DBConnector 代码中的任何更改的影响。

【问题讨论】:

    标签: design-patterns singleton adapter software-design class-diagram


    【解决方案1】:

    适配器通常用于填补您的代码与其他人的代码之间的空白。当您控制这两个接口时,您可能不需要适配器。

    话虽如此,您可能在这里高估了 SRP 的约束。当数据发生变化时,您的 DB 层也会发生变化。这只是改变的原因之一。单个数据更改可能会影响多种方法,但这仍然只是一个原因。

    所以要回答这个问题,,我认为适配器在这种情况下不会增加价值。单例 DBConnector 足以满足 OOP 考试。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-15
      • 2010-10-03
      • 1970-01-01
      • 2016-06-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多