2

当您将来自不同来源的信息收集到您自己的通用模型中时,您应该使用哪种设计模式?

一个例子可能是将来自不同视频流服务的视频轮询到一个通用模型中。换句话说,每个视频流服务都有自己的 Video 对象表示,具有不同的属性集。所以你想收集这些不同的结构并将它们聚合成一个通用的 Video 对象。

是否有一些众所周知的设计模式可以让我们使用?我所做的是为每个 API 建立一个工厂,负责从 api-model 中创建通用模型。这是一个好方法吗?

4

2 回答 2

5

您的问题陈述似乎不适合单一设计模式的范围。正如您所提到的,您正在从不同的来源获取数据并希望在这种情况下将它们分组,复合模式可能是一个不错的选择。

由于您需要与不同的输入源进行通信,因此最好使该部分完全异步,这样您就不会为此阻塞主程序。

您可能还想使用抽象因子,因为您似乎需要初始化不同源系统交互 API 的多个实例。

为了使您的其他系统/服务彼此独立,依赖注入将是一件好事。

希望这可以帮助。

于 2013-06-23T17:10:50.290 回答
1

如果您的通用模型将在您的应用程序中进一步使用并且不关心信息来自哪里,那么抽象工厂模式可能是一个通用接口。如果您的应用程序需要知道数据来自哪里,或者您的 API 有一些共同的功能和它们自己的一些细节,那么请结合工厂模式和存储库模式。

于 2013-06-23T17:14:50.247 回答