有关于开发具有Add-Ins功能的程序一切。代码,设计模式,理论文章,开发心得!
解决方案 »
- C# DataGridView 数据源在另一个线程被清空
- WEB服务生成后引用的Reference 什么时候情况begininvoke
- C# 反射
- 框架中怎样使用ajax response.write
- 项目管理,看看你对熟悉多少,能不能胜任项目经理?
- 客户端远程操作数据库的可行性问题
- 怎么取值?
- c#中根据xml shema 生成xml文件的问题。
- 成都的MS.NET程序员跟贴,UP者有分。。,。。
- 玩来玩去,还是觉得微软的东西好啊
- 谁有空讲一下private void button1_Click(object sender, System.EventArgs e) 里的sender和e是干什么用的,msdn上讲解,我没看懂
- 请帮忙!!!!!!!!!!关于日期匹配问题
还有一个java的plugin framework:http://jpf.sourceforge.net/我以前实现的一个:1.IPlugin──任何插件需要实现的接口。放在单独的Project中,以便于其它Project引用。Execute方法执行动作,Dispose方法则终止执行且释放资源。2.IAppContext──插件以此来了解其运行环境。PluginManager将此类型的对象传递给IPlugin的Execute方法。3.PluginAssemblyAttribute──描述插件程序集的属性,比如此插件所从属的模块,插件类的名字。4.PluginDependencyAttribute──描述插件类的属性,指明所依赖的其它插件。5.PluginManager──插件管理类,继承MarshalByRefObject类。负责加载,执行,停止和删除插件。为每个模块的插件创建一个AppDomain,以按照模块来隔离插件。6.PluginDescriptor──插件的包装类,负责将按照插件之间的依赖关系进行排序,以便于PluginManager按照正确的顺序加载插件。7.PluginSecurityManager──插件安全管理类。负责检查插件的合法性,设置插件的执行权限。8.PluginProvider──插件提供者,继承MarshalByRefObject类。负责提供需要加载的插件的Assembly的列表。具体实现中可以读取配置找到插件,也可以自动发现插件。原本我设计了一个工厂,但由于我只是采用自动查找插件的方式,所以为了简化设计,就把这个工厂去掉了。PluginProvider创建一个临时的AppDomain来加载插件目录下的程序集,并读取其属性以检验此程序集中是否包含插件;返回包含插件的程序集的列表,最后卸载此临时AppDomain。9.DirectoryMonitor──监控部署插件的目录,一旦有新增加的插件,或者有新版本插件被部署后,就能立刻通知PluginManager进行处理。具体实现中通常使用代理了处理了。此类继承FileSystemWatcher类,使用中需要注意一些问题──同一个事件可能重复触发;一个文件拷贝动作会触发多个事件。10. SoftwareDelivery──这个子系统负责进行系统部署,远程将插件部署到指定的各个客户端的某目录下。
其它资料:
http://www.codeproject.com/csharp/c__plugin_architecture.asp
http://www.codeproject.com/csharp/extensibleui.asp
http://www.codeproject.com/dotnet/PluginManagerClassBrk.asp
http://www.codeproject.com/csharp/pluginsincsharp.asp
http://www.codeproject.com/csharp/razorpt1.asp 这个比较强大
.net的一个ide:csharpdeveloperhttp://www.cnblogs.com/noblepaul/archive/2004/06/11/14898.html