我正在寻找关于如何做我过去多次想做的事情的建议,这让我相信有一种设计模式(可能是一个宝石或例子)来告诉我如何做我想做的事情达到。
我目前在Rails中从事一个涉及多种订单类型的项目。例如,我有一个需要生成发货的基本订单。订单中的数据需要“映射”到新创建的货件。(非常简短的例子:)
Order
- 从:纽约
- 到:洛杉矶
- shipping_type:联邦快递
Shipment
- 从:洛杉矶
- 到:纽约
- shipping_type:联邦快递
Order和Shipment将具有几乎相同的字段,细微差别之一是“ from ”和“ to ”字段切换。在现实世界中,这些对象中的每一个都有很多很多的领域。还有很多其他类型的订单需要有“地图”。
为了保持DRY的兴趣,有没有办法在这些订单之间创建映射,以便我可以最大限度地减少我必须编写generate_order_from(order)
方法的次数?
编辑:我正在尝试创建一个类似于RestKit 的 Object Mapping的方法。我只是在 Ruby 中找不到类似的东西。