网友提问:
看了think in java, 上边说类库的设计者要考虑到,一旦一个类设计出来就不可以改,说是会影响到现在的程序.
我搞不明白这是怎么回事.
你改你的,如果我用的是旧版本的类库我接着用旧的,关我什么事呢?
请详细解释一下.
答复:
为啥出新版类库呢?有2个原因
1 修正BUG,此时你如果用了新的,则不会有任何影响
2 增加了新功能,你的老程序也不会有影响
作为类库的使用者
如果你继续用旧的,没有问题,但如果有个BUG影响了你的程序,而这个已经在新的里面修正了,你怎么办?
OK,你升级了,可是第三个问题出现了。
3 系统不仅增加了功能,且修改了类的路径和名字等,可能只是为了规范某些东西。 象Spring,Hibernate这样的系统,都不保证2个版本的类库没有变化。
所以一旦你被迫使用了新的类库,则可能必须修改许多程序。否则你必须自己编码解决老版本类库遗留的错误BUG,且无法使用新版本的特性了。
作为类库开发者而不是使用者:
你的新版本,应该考虑和老版本的兼容程度,如果不兼容,你可能需要同时维护2个或者更多个版本的 bugfix了。
同时要提供完整的变动明细,提供修改的方法。文档很重要。
个人建议,如果你的系统是遗留系统,能够稳定运行,强烈建议不要更换类库,保持系统的稳定性。
能用就行,好用就是精品。我的个人评价标准。