【发布时间】:2010-02-16 01:56:17
【问题描述】:
我正在重构我的一个项目 - 购物车。我的代码中紧密耦合的区域之一是“查看器”类 - 要生成供用户查看的信息,它通常需要以下两个或多个对象的组合:
- 商店目录。
- 客户的订单。
- 客户的邮寄信息。
由于各种原因,我无法真正分解显示方法。
Martin Fowler 的重构将此识别为“长参数列表”气味。这里的相关重构是“引入参数对象”。但是,我对此犹豫不决,因为这样做会耦合松散相关的数据。它还将我锁定在这三个对象之间非常狭窄的一对一关系中——虽然这对我现在的应用程序有效,但它在现实世界中没有任何意义。 (因为店铺目录只有一个,所以可以有很多“客户邮寄信息”对象,每一个都可能关联多个“客户订单”对象)。
有人对此有任何优雅的解决方案吗?
【问题讨论】:
标签: refactoring