本文是基于昨天的 利用反射做插件式系统的一次实践 所写的一个补充。这个系统有几个不足:
- 所有的插件依赖于主程序,这是一个很大的弊病;
- 公用的基础代码没有。如日志处理、异常处理等公用的基础代码没体现,而且这个工程里到处都有相同代码的痕迹,应该予以重构 ;
基于以上的考虑,我将这个 Demo 重构:增加一个 CS.Utility 工程,其作用是实现一些公用代码,如日志、异常、字符处理等,同时将 IPlugin 移到此工程中,所有的插件都必须引用此工程并实现此接口;所有的插件去掉与 CS.Project 依赖,它应该实现其核心的业务功能,如插件的加载、权限、多线程运行等,它充当了整个程序的一个骨架与容器外,没有任何其他的作用,我觉得最理想的状态是它离开了所有的插件,程序能跑起来,但没什么内容与用途。其项目结构如下:

详细代码见附件。 点我下载
小技巧:在 VS2008 中将插件的 dll 在生成后复制到主程序的目录下,依次点项目右键-属性-生成事件-生成后事件命令,敲入:
copy $(TargetPath) d:\e\bin\ 即可完成将这些文件复制到一个地方。
相关文章:
-
2022-01-13
-
2022-12-23
-
2022-01-01
-
2021-08-04
猜你喜欢
-
2021-05-20
-
2021-11-04
-
2022-12-23
-
2021-12-02
-
2022-01-27
-
2021-10-21
-
2021-11-20
相关资源
-
下载
2022-12-28
-
下载
2021-06-05
-
下载
2023-01-22
-
下载
2023-02-08
-
下载
2021-06-24