一个简化的插件框架c#】的更多相关文章

利用MEF实现插件加载. 定义了一套接口,分别实现插件主界面,插件,业务插件等. 整套加载完全使用MEF2. 所有插件分开,包括主界面也是插件实现. 用一个应用程序,只有Main和插件加载方法.我管它叫启动器. 插件直接由启动器来沟通,插件主管把需要的通过公共类库注入和获取(PluginManager实现). 整个流程 程序中自带了2个主界面插件样例,是WPF的.当然插件可以随意开发的. 1.Ribbon的界面 2.360的界面,这个是透明的自定义界面,已经解决WinForm插件显示问题 这2个…
在这篇文章我分享了如何使用分层与模块化的方法来设计一个分布式服务集群.这个分布式服务集群是基于DynamicProxy.WCF和OSGi.NET插件框架实现的.我将从设计思路.目标和实现三方面来描述. 1 设计思路 首先,我来说明一下设计思路.我们先来看看目前OSGi.NET插件框架的服务.在这里,服务不是远程服务,它是轻量级的服务,由接口和实现类组成,如下图所示.服务契约插件定义了服务接口,服务实现插件向服务总线注册服务,服务调用插件利用服务契约(接口)从服务总线获取实现的服务并调用,服务实现…
插件模式历史悠久,各种中大型软件基本上都会实现插件机制,以此支持功能扩展,从开发部署层面,插件机制也可实现功能解耦,对于并行开发.项目部署.功能定制等都有比较大的优势. 在.NET Core下,一般我们基于.NET Core扩展库进行开发,通常使用依赖注入.配置.设置(Options)等机制,如果将插件模式与依赖注入.配置.设置进行结合,将可以提供非常灵活的扩展机制.基于此,我们实现了一个开源的插件框架,本文将进行简单的介绍. 目录 目录 PluginFactory插件库 主要概念 使用向导 安…
1.Viper是什么? Viper 是.NET平台下的Anno微服务框架的一个示例项目.入门简单.安全.稳定.高可用.全平台可监控.底层通讯可以随意切换thrift grpc. 自带服务发现.调用链追踪.Cron 调度.限流.事件总线.CQRS .DDD.类似MVC的开发体验,插件化开发 github: https://github.com/duyanming/Viper 文档地址: https://duyanming.github.io/ 体验地址: http://140.143.207.24…
简介 jQuery 库是专为加快 JavaScript 开发速度而设计的.通过简化编写 JavaScript 的方式,减少代码量.使用 jQuery 库时,您可能会发现您经常为一些常用函数重写相同的代码.如果这样的话,这可能就是您需要编写自定义 jQuery 插件的一个原因.jQuery 插件允许您使用自定义代码扩展 jQuery 库:您可以对一些重复性函数使用插件.例如,很多插件可供幻灯片.下拉菜单和折叠菜单所用.如果您搜索 jQuery 插件,就会发现有大量可用于自己项目的示例(看看它们是如…
大家好,老司机学Xamarin系列又来啦!上一篇MvvmCross插件精选文末提到,Xamarin平台下,一直没找到一个可用的跨平台AudioPlayer插件.那就自力更生,让我们就自己来写一个吧! 源码和Nuget包 源码:https://github.com/teddymacn/Teddy-MvvmCross-Plugins Nuget包:https://www.nuget.org/packages/Teddy.MvvmCross.Plugin.SimpleAudioPlayer/ Mvvm…
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.MEF框架简介 MEF的全称是Managed Extensibility Framework(MEF),其是.net4.0的组成部分,在3.5上也可以使用.熟悉java中的spring框架的人,对这个框架中涉及的几个概念应该会比较容易理解. 这里我先把我两年多前的一个完整的利用MEF搭建的插件式系统中涉及到的MEF框架里的几个基本概念大致描述下. 1.1 依赖注入…
设计一个好的框架和设计一个好的软件一样,需要考虑的方面很多,比如扩展性.性能.用户体验.稳健性等等,视不同的场景,每个点都可能导致成败,但他们通常并不是老板们关心的,因为在大部分情况下,他们通常都没有做到极限的渴望,或者说相比业务来说,一台机器不够上两台.十台不够上百台,没什么大不了的,反正花的都是客户的钱.当然笔者无论理论上还是实践中都不赞成这些观点,但有些时候也不得不屈服,所以就本文而言,这些都不是重点. 在本文中,笔者想总结一个点,这个点很重要但是又经常被忽略,很多无法产品化或者最后成本高…
很久没自己写东西啦,早该好好总结一下啦!一个大师说过“一个问题不应该被解决两次!”,除了一个好脑筋,再就是要坚持总结. 最近需要搞个系统的插件式框架,我参照World Wind的插件方式构建了个插件框架,可以参照<WorldWind学习系列五:插件加载过程全解析>,下面与大家分享一下. 初始化时,加载前面两个插件,可以动态加载KeyBoarderLoader,如下图: 该插件框架是WW插件框架的精简改造版,非常适用于插件式系统开发,也希望帮助大家学习一下WW的插件加载机制. 缺陷在于:未实现事…
这是一个Delphi实现的插件框架,我耗费了相当相当相当多的精力来设计她,虽然仅闪着点我微薄智慧的光芒,但我还是决定用Wisdom来命名她,也因它是我绝无仅有的,在完成1年多后回头来看仍能相当满意的作品,所以我补充了展示她特性的Demo和管理工具,决定将她开源发布给仍在坚持着的Delphi Fans. 我发现,人年龄越大,越害怕复杂的东西,越偏向喜欢清澈简单明了的事物,因此,这个插件框架的设计我是费尽心思地往简单上整,务求扫上几眼几分钟就大概懂了原理,就能上手用起来:务求使用中只需遵守最少的使用…