如何重构API

3 投票
6 回答
1072 浏览
提问于 2025-04-17 05:42

你怎么处理那些需要重构的API,同时又不想影响到使用这个API的客户呢?

我遇到的一个可能的解决办法是:记录下对API的重构,然后把这些记录提供给API的使用者,这样他们就可以把这些重构应用到自己的代码中。你可以在这里找到相关的资料:https://netfiles.uiuc.edu/dig/papers/Thesis.pdf

那么,Python有没有类似的东西呢?还有其他的解决方案吗?

6 个回答

1

看看适配器模式、装饰者模式和外观模式。

2

其实这很简单,至少在理论上是这样——不要随便删除任何东西,而是把旧的功能标记为不推荐使用,同时添加新的、更好的功能。不要删除那些被标记为不推荐使用的接口所提供的功能,或者去模拟这些功能。

你决定不推荐使用的功能在之后多久才真正删除,这个时间长短取决于你的接口是什么,以及有多少人在使用它。如果你使用有意义的版本号,那么一个简单的规则就是:除非版本号发生重大变化,否则绝对不要破坏接口。

3

你可以创建一个中间层,这个中间层的样子和旧的接口一模一样,但它实际上调用的是你新添加的功能,这样就能处理那些有重大变化的地方。这样,老客户可以继续使用你的兼容接口,而新客户则可以使用你更新和改进后的接口。

撰写回答