【发布时间】:2015-08-07 13:19:23
【问题描述】:
我在一家拥有多个网站的公司工作,而现有的基础设施……嗯,很糟糕。
现在,每家商店都有自己的桌子,桌子的结构各不相同。这正在迅速成为一个问题(如果还没有的话)。
所以我需要找到一种方法从多个渠道接受订单,将它们格式化为单一、统一的方式,将它们存储在我们端,并将它们转换回商店 API 期望的格式(可以是从RESTful JSON 到 SOAP)。
我最初的直觉反应是混合了工厂、访问者和构建器模式(加上一些智能多态性),但它变得有点太复杂太快了。在我将自己编码到一个可能不是最优、可维护或可扩展的解决方案的角落之前,是否有一种或一组模式会更有效?
基本上,我认为它会是这样的:
Source -> Translator -> Our Format
Our Format -> Translator -> Source
我不需要翻译器对数据进行实际操作。它应该负责的只是以正确的格式获取它,我们可以从 A 点到 B 点获取它(反之亦然)。
关于系统的一些假设:
- 我们这边的格式不太可能改变,因此我们的对象也不太可能改变
- 当数据转换回原始源时,我们可以假设所需的一切都在那里。出站请求的实际行为很小、重点突出且定义明确
【问题讨论】:
标签: oop design-patterns ooad