为什么Qt Creator的核心是一个插件?

Mar*_*cco 3 architecture plugins qt qt-creator

您是否清楚地解释了为什么他们选择应用程序的核心作为其他组件的插件,而不仅仅是基本的共享库?除了设计的"酷感"之外,我看不出任何明显的优势.

Mar*_*cco 9

我从开发者那里得到了答案:

Qt Creator并不打算成为一个应用程序框架.作为插件的"核心"主要是学术上的原因,但是例如一个实际的优点是,Qt Creator的核心自动拥有"版本",并且检查插件是否与Qt Creator兼容是完全相同的方式与任何其他插件依赖项一样.此外,整个启动初始化(包括其他插件的初始化)以相同的方式完成,这导致相同的概念,并且没有更少的学习.


Bar*_*art 5

至于"为什么"我们只能猜测.在他们自己的文档中,他们说:

Qt Creator可以通过各种方式进行扩展.例如,Qt Creator架构基于插件加载器,这意味着插件加载之外的所有功能都在插件中实现.但是,您可以扩展和调整Qt Creator的许多部分,而无需在C++中使用编码并实现这样的插件.

因此,从这一点可以看出,这种选择是在考虑可扩展性的情况下做出的.我不确定"为什么核心是一个插件?"的答案?不仅仅是"为什么不呢?".如果你正在创建你的应用程序,就像他们所说的那样,一个插件加载器,那么为什么不尽可能地保持它的"轻量级"功能,并使核心成为一个插件.