欢迎访问宙启技术站
智能推送

Spring中Rod Johnson与“轮子理论”(2)

发布时间:2023-05-16 00:56:14

在上一篇文章中,我们介绍了Spring框架的创始人Rod Johnson提出的“轮子理论”的 部分——选择适合的轮子。本文将继续介绍这一理论的第二部分:定制轮子。

一、定制轮子

当我们使用开源软件时,如果发现某个轮子并不完全符合我们的需求,我们可以选择定制它。这就是Rod Johnson提出的第二个建议:如果没有找到满足所有需求的轮子,可以考虑进行轮子定制。

在实际工作中,我们常常会遇到某个开源软件没有提供我们需要的某些特性或功能。这时,我们既可以选择使用其他软件,也可以选择重新开发实现这些特性和功能,但这些都需要付出更多的时间和精力。如果考虑对现有的软件进行定制,就可以节省这些时间和精力。

定制一个轮子包括两个方面的内容:一是改变轮子本身的逻辑,修改它的源码以满足我们的需求;二是定制轮子与其他轮子的集成方式,使得它能够与我们的系统进行良好的整合。

二、定制轮子的代价

尽管定制轮子有很多好处,但要明确这样做的代价也是很重要的。以下是几个需要考虑的方面:

1. 时间

定制一个轮子需要一定的时间,不仅包括修改它本身的源码,还包括熟悉轮子的逻辑、架构和代码风格等。如果团队成员对这个轮子并不熟悉,这个过程可能会更加漫长和困难。

2. 维护

定制轮子后,我们就需要维护它的代码和文档。如果原始的轮子本身也在更新升级,我们需要及时跟进这些变化,否则可能会影响到我们的自定义代码的稳定性和可靠性。

3. 测试

定制轮子后,我们需要对代码进行测试,以确保我们的自定义代码能够正常工作。这可能需要编写一系列的测试用例,以保证我们的代码覆盖了所有可能的使用场景。

4. 版本兼容性

一些开源软件在不同版本之间可能会发生较大的变化,这意味着我们定制的轮子可能需要在不同版本之间进行调整、升级和修改,以确保其与其他模块和框架兼容。

三、结论

在开发过程中,选择适合的轮子和定制轮子都是有利有弊的。如果我们可以找到一个已经存在的轮子能够完全满足我们的需求,那么就没有必要再费力定制轮子。但是,如果我们需要特定的功能或特性,我们可能需要考虑定制轮子。

与 部分相似,Rod Johnson提出的建议并没有固定的答案或标准方案。选择适合的轮子和定制轮子都需要在实际情况中综合考虑。良好的折中方案是,首先寻找一个适合的轮子,如果没有找到,我们可以按照自己的需求自定义轮子,但要注意,这不是一个简单的过程,需要付出相应的时间和精力。 无论我们最终选择哪种建议,我们都应该始终关注软件质量、性能和可靠性。