相信有过大型软件开发经验的人都会熟悉 插件开发(Plugin),这是一种轻内核的开发机制,通过独立的插件开发能够将不同的插件功能进行组合,从而实现灵活的即插即用。
目前支持插件功能的软件非常多,从Linux下的 Vim、Emacs、Sublime编辑器,到windows下的PS、3DMax、Maya、AutoCAD,再到 ArcGIS,几乎每个行业的软件都会有插件开发的影子,这些软件无一不是通过支持插件的方式来进行扩展,这种机制到底有什么好处呢?
1. 主模块独立(Exe和Core DLL),添加插件时 不需要重新编译更新;
2. 插件之间功能相对独立,依赖性小,便于分布式开发;
3. 插件更新、扩展相对容易;
一个典型的插件示例代码如下:
/** PluginInterface,插件接口类*/
class MainFrame; // 主程序框架
class PluginInterface
{
public:
virtual void install(){ m_bInstalled = true; };
virtual void unstall(){ m_bInstalled = false; };
virtual MainFrame* getMainFrame();
protected:

本文介绍了插件开发在大型软件中的应用和优势,如独立于主模块、易于分布式开发和更新。以C++为例,展示了DLL插件的动态加载方法,并鼓励读者结合之前的学习实践创建自己的插件。
最低0.47元/天 解锁文章
5万+

被折叠的 条评论
为什么被折叠?



