我正在研究遗留代码,其中Configuration接口如下所示:
node
截至目前,只有1个客户端使用Configuration,但不同的客户端将在不久的将来开始使用它。我也可以预见丰富的配置,不能列入List,我可能需要存储在Map中,让我们说。
作为我的重构练习,我想封装Configuration的内部数据类型,这样即使我将 pid
更改为 public interface Configuration {
public List<ConfigurationData> configurationDataList;
}
不会影响现有客户。
请告诉我有关此问题的最佳做法。
答案 0 :(得分:0)
如果你的Map结构保持平坦,你可以添加Map作为附加访问器,并重构List访问器,以便它只是展平地图中的值。这样,您就不会将数据加倍,而只会形成不同的形状。
从实践的角度来看,将List标记为已弃用以阻止人们使用它可能是个好主意。通过这种方式,您可以在退役之前使用几个版本。
当您下次更新主要版本时,当有其他一些重大变化时,您可以“安全地”删除列表。