在我工作的项目中,我们处理医疗帐单。支持向后兼容的类版本化
每次国家对官方表格(我们的数据类表示)进行更改时,为了保持与以前表格的向后兼容性,我们添加了新的属性,但保留了旧的属性,并且保留了旧的属性,并且拥有文档版本属性,用于确定完成了哪些验证以及用于显示它的UI操作。
这导致项目生命周期中的类型臃肿(近5年的国家授权更改),并且根本不支持旧文档格式不是一种选择。
我想尝试为每个文档版本创建一个新类,但即使如此,我们仍然会有几个非常相似(尽管稍有改动)的代码副本。而诸如ProgressNoteV16,ProgressNoteV17等类名称看起来很可怕。
继承无法使用,因为这仍然会导致相同的问题(具有不再需要的属性的类)。接口会使接口臃肿,这不会解决问题。
用于解决此问题的解决方案和最佳实践是什么?
谢谢你,我们有因道路潜力大修重新思考我们的设计能力,联邦政府正在做的事情。这个大纲将大大有助于探索可能性。 – 2009-12-29 21:21:10
NP。祝你好运。如果您有能力接触到一些其他机构如美国国土安全部(人类服务)或DIS(移民局)他们有大规模这个问题,或许能为您提供一些好的信息。 – GrayWizardx 2009-12-29 21:51:06
我碰到这来是因为我开始看到“日期”出现在我们的类名,即ClassA的,ClassA20100901,ClassA20101201。有人向我解释为:ClassA的有效期/使用,直到9月1日,然后Class20100901将被使用,然后在12月1日最后一堂课变得活跃。这是一种巨大的气味,有些事情是错误的。我会消化这个并且向团队提出这个建议。我会提供一个答案,如果我们找到任何提示。谢谢! – 2010-08-05 19:21:47