设计模式 - 具有复杂逻辑的映射字段

时间:2015-12-12 21:14:07

标签: design-patterns

当一个对象从一个系统转移到另一个系统时,两个对象具有完全不同的相同概念,是否有任何常见的解决方案?

在我的具体情况下,我正在接受电子商务网络应用程序的订单并将其移至仓库/ crm系统。

订单包含来自Web应用程序订单,客户,订单商品,送货地址的不同来源模型的数据。在某些情况下,可以完成简单的字段名称更改。但在其他情况下,移动场时会有一些更复杂的变换和逻辑。例如,必须根据税率和运输国家/地区映射增值税/税码。

1 个答案:

答案 0 :(得分:1)

一般来说,

  • facade用于简化或统一更复杂/复杂的界面
  • 适配器用于将给定接口转换为客户端预期的接口。

听起来你会做很多适应。但是,您可能有一个或多个外观来促进音译过程。

我处理这种事情的经验并不是对模式的文字依从性,而是适配器式。模式首先是概念。

我做了一些"一厢情愿的想法"设计 - 专注于所需任务的新课程。这些处理类使用了常见的" typeX"对于数据对象。最低等级的分类。然后创建了这些" typeX"来自传入记录的对象和接收方的相关记录。使用单一DataType的全新设计带来了许多良好的设计,可测试性和代码维护质量。

在深度" typeX"对象必须以原始的本地类型处理,但这往往是孤立的"在末尾"。尽管如此,在处理匹配,查找,排序等过程中," typeX"除了最必要的详细工作之外,所有对象都被深刻地简化了。