当您将来自不同来源的信息收集到您自己的通用模型中时,您应该使用什么设计模式?
例如,可以将来自不同视频流服务的视频轮询到一个通用模型中。换句话说,每个视频流服务都将拥有自己的视频对象表示,并具有不同的属性集。因此,您希望收集这些不同的构造,并将它们聚合到一个通用的Video对象中。
有没有什么著名的设计模式可以让我们借鉴?我所做的是为每个API都有一个工厂,负责从api-model中创建通用模型。这是一种好的方法吗?
发布于 2013-06-24 01:10:50
您的问题陈述似乎不适合单一设计模式的范围。正如您已经提到的,您正在从不同的来源获取数据,并希望在这种情况下对它们进行分组,复合模式可能是一个很好的选择。
由于您需要与不同的源进行通信以获取输入,因此最好将该部分完全异步,这样就不会阻塞主程序。
您可能还希望使用抽象因子,因为您似乎需要初始化不同源系统交互API的多个实例。
为了保持你的其他系统/服务彼此独立,依赖注入将是很好的。
希望这能有所帮助。
发布于 2013-06-24 01:14:50
如果您的通用模型将在您的应用程序中进一步使用,并且不关心信息从何而来,那么抽象的Factory模式可能是一个公共接口。如果您的应用程序需要知道数据来自何处,或者您的API具有一些常见的功能和它们自己的一些细节,那么可以将工厂模式和存储库模式结合起来。
https://stackoverflow.com/questions/17263158
复制相似问题