大型项目的通用接口

Generic interface for big projects

本文关键字:接口 大型项目      更新时间:2023-10-16

假设您正在编写一个更大的项目,并且必须使用第三方库。因此,您的完整项目将依赖于这些库。

我想,与其直接使用那些第三方库,不如编写某种包装器库或接口,看起来像这样。

void myMainloop(...){
    3rdpartyMainloop(...);
}

所以,如果第三方库过时了,我可以通过将它集成到我的包装器库中来切换到另一个库。

这样做是件好事吗?我有什么选择

我有点担心,如果我有两个库,它们本质上做着相同的事情,但设计完全不同,那么就不可能为两者找到通用接口。

可以编写一个通用接口,您可以将一个或多个第三方库适配到该接口。然而,这需要非常仔细的设计和规划,更不用说如果你谈论的是Qt大小和范围的库,那么需要大量的开发工作。你必须首先设计你的接口,然后为你想要插入的每个库实现这些接口

最重要的是,这是一个非常崇高的目标,你不太可能最终得到任何真正"通用"的东西。在最好的情况下,您可能不得不将接口降低到不能利用每个库所提供的许多功能的程度。此外,您可能会引入会降低应用程序性能的开销,因此,如果性能至关重要,请记住这一点。

我想说,只要选择最适合你需求的图书馆,除非你想推出自己的图书馆,我对此表示怀疑。