插件架构学习体会(三)--插件:兄弟们要团结
2009-01-05 09:52
253 查看
插件和宿主程序之间的相互通讯都不是什么问题了,那插件之间的相互通讯呢?理论上来说,插件之间的相互通讯是比较少见的,因为他们之间的通讯势必造成插件之间的依赖关系,那么对加载顺序也就有了严格的要求,我们应该尽量避免这种依赖。话说回来,如果需要插件间通讯,我们该如何做,不难想到,既然插件和宿主可以相互通讯,那我们只要让宿主做插件的中间人,就可以把两个插件联系在一起,毕竟宿主可以持有插件的引用。按照这个思路,继续修改程序:
首先我们得让宿主程序保存已加载插件的引用,并能获取制定的插件引用,修改一下IAppContext接口,添加以下内容
//实现了contract里约定的方法,控制台上输出宿主程序的属性TextOut字符串
public void PrintToConsole()
{
IPlugIn plugin = m_App.GetService("ASimplePlugIn.PrintHelloWorld");
if(plugin==null)
Console.WriteLine("please load plugin named ASimplePlugIn first");
else
plugin.PrintToConsole();
}
结果如下:
代码下载:http://files.cnblogs.com/Pcant/SimplePlug-in3.rar
首先我们得让宿主程序保存已加载插件的引用,并能获取制定的插件引用,修改一下IAppContext接口,添加以下内容
//实现了contract里约定的方法,控制台上输出宿主程序的属性TextOut字符串
public void PrintToConsole()
{
IPlugIn plugin = m_App.GetService("ASimplePlugIn.PrintHelloWorld");
if(plugin==null)
Console.WriteLine("please load plugin named ASimplePlugIn first");
else
plugin.PrintToConsole();
}
结果如下:
代码下载:http://files.cnblogs.com/Pcant/SimplePlug-in3.rar
相关文章推荐
- 插件架构学习体会(二) -- 插件程序说:要求平等对话
- 插件架构学习体会(一) -- 宿主程序说:插件你得听我的
- 架构学习体会
- 18.03.16,web学习第七十六天,day02,soa架构、Dubbo分布式、zookeeper、pageHelper插件
- 学习插件架构(二)
- YouTube架构学习体会
- ARM硬件架构学习体会
- YouTube 架构学习体会
- YouTube架构学习体会
- Popush系统架构学习体会(0)—Node.js+Socket.io+Backbone.js
- YouTube 架构学习体会
- Eclipse插件安装总结通过个人的学习体会
- 学习插件架构(一)
- YouTube架构学习体会
- [转]YouTube架构学习体会
- 学习插件架构(三)
- 学习WebService的体会一
- JAVA程序员面试总结,Java 学习架构进阶学习规划
- Flex3学习入门教程:安装Flex的Eclipse插件
- 【转】架构概念学习