我目前正在开发一个项目,该项目将支持多个文件编写规范(想象一下,如果必须支持XML 1.0,XML 2.0,XML 3.0等),称为ADIF。目前有两个标准(版本1.0和版本2.2.2),它们都在商业上使用,但仍然大量使用。
规范版本2.2.2包含了1.0版本的大部分内容,但是有一些细微的差异排除了一些继承和其他OOP工具。
您如何组织项目以支持旧版本,同时继续跟上新标准。
我打算实现一些代码,这些代码将从一个版本转换为另一个版本。
基本上,我正在寻找一些关于如何最好地组织这类项目的建议。
答案 0 :(得分:1)
你说你可以实施一个好的入侵层次结构吗?
如果是这样,我建议你遵循库的命名空间技术,它可以使用dll中可能的任何通用性来减少你自己的工作量。拥有两个api将使您更容易测试,并且很好地处理有关版本之间差异的问题。
即。您的2.2.2版api只接受2.2.2版本的对象以防止库中出现问题。祝你好运!)
答案 1 :(得分:0)
规范版本2.2.2包含了1.0版本的大部分内容,但是有一些细微的差异排除了一些继承和其他OOP工具。
对象组合对于OOP来说可能是一个比继承更强大的工具,这是IMO过度使用的。
您可以通过哪些方法将问题分解为更简单的子系统?