从不同来源聚合/收集的设计模式

Bj *_*icz 2 c# oop design-patterns

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

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

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

小智 5

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

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

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

为了让您的其他系统/服务彼此独立,最好使用依赖注入。

希望这可以帮助。