Rex*_*exE 5 architecture legacy compatibility
根据我的经验,对向后/向前兼容性的承诺是软件工程行业的镀金笼.我特别注意到文档文件格式和编程语言/ API的情况.当他们现有的数据或代码中断时,客户和合作伙伴讨厌它; 但是,如果您永远不会破坏兼容性,那么从长远来看,您可能会严重限制您的创新能力.
除了逐渐弃用旧功能外,是否有解决此问题的方法?在Windows 7的XP Mode中,虚拟化似乎是一种令人兴奋的可能性.还有其他人吗?
此外,对于我们这些想要设计尽可能面向未来的新系统的人,我们可以从过去在行业中犯下的错误中吸取什么教训?
通过扩展而不是通过重写公共API来创新.为后端功能提供一致的通用公共接口.只要您为公共API模块提供他们期望的结果,您就可以随时重写私有模块.
在后端进行改进,尽可能保持API的一致性.在扩展API的公共部分时,创建新模块并将其清楚地记录下来,如果您提供新的更好的方法来完成旧方法的补充,那么旧方法的弃用将自然而然地发生.
对于文档格式,请始终包含版本号,并确保您有方法支持所有现有版本.与API一样,通过扩展而不是通过重写来添加新功能.
如果您希望对软件的整体架构进行根本性更改,请将新版本包含旧版本作为模块 - 这将导致更大的尺寸,但更好地支持旧数据和程序.
| 归档时间: |
|
| 查看次数: |
195 次 |
| 最近记录: |