Mono.Addins 插件式框架

      Visual Studio,Office,Delphi,Eclipse等等都有插件式的框架。Eclipse将插件模式发挥到了及至,因为他是开源的,开发社区开发出了不少极具商业价值的插件了。微软推行的VSIP (Visual Studio Industry Partners)合作伙伴计划,以及合作伙伴开发出的800多种产品,加上更多的整个微软平台上的合作伙伴,这一庞大的产业生态环境,只有Eclipse平台可以与他相提并论。现在Mono.Addins也是一个插件式的框架,Mono.Addins与Vistual Studio 和Eclipse 不同的是Mono.Addins是Mono框架的一部分,而不是开发工具的一部分。Mono.Addins框架来自于Monodevelop开发工具的插件框架,MonoDevelopSharpDevlop的移植,而SharpDevelop的插件框架思想来源于Eclipse。期望.NET社区一样能够创造Eclipse社区一样的辉煌。Mono网站上对Mono.Addins的介绍的特性如下:

  • Supports descriptions of add-ins using custom attributes (for simple and common extensions) or using an xml manifest (for more complex extensibility needs).
  • Support for add-in hierarchies, where add-ins may depend on other add-ins.
  • Lazy loading of add-ins.
  • Provides an API for accessing to add-in descriptions, which will allow building development and documentation tools for handling add-ins.
  • Dynamic activation / deactivation of add-ins at run time.
  • Allows sharing add-in registries between applications, and defining arbitrary add-in locations.
  • Allows implementing extensible libraries.
  • In addition to the basic add-in engine, it provides a Setup library to be used by applications which want to offer basic add-in management features to users, such as enabling/disabling add-ins, or installing add-ins from on-line repositories.

具体内容参看Introduction to Mono.Addins.

SharpDevelop插件开发手册

引用\[1\]: Mono.defer JDK注释 Create a Mono provider that will supply a target Mono to subscribe to for each Subscriber downstream. 翻译 。 引用\[2\]:本篇文章分享Mono.just与Mono.defer的区别并用代码进行了测试。 Mono.just JDK注释 Create a new Mono that emits the specified item, which is captured at instantiation time. 翻译 。 引用\[3\]:mono defer方法创建数据源属于懒汉型,与Mono.just等创建数据源则是恶汉型,下面看一个例子: @Test public void defer(){ //声明阶段创建DeferClass对象 Mono<Date> m1 = Mono.just(new Date()); Mono<Date> m2 = Mono.defer(()->Mono.just(new Date())); m1.subscribe(System.out::println); m2.subscribe(System.out::println); //延迟5秒钟 try { Thread.sleep(5000); } catch (InterruptedException e) { e.printStackTrace(); } m1.subscribe(System.out::println); m2.subscribe(System.out::println); } 。 问题:mono.defer 回答: mono.defer是一个方法,用于创建一个懒汉型的数据源。与Mono.just等创建数据源不同,Mono.defer在订阅时才会创建目标Mono供下游的Subscriber订阅。\[1\] Mono.just则在实例化时就捕获了指定的项,并创建了一个新的Mono。\[2\] 在给出的例子中,m1是使用Mono.just创建的,而m2是使用Mono.defer创建的。在订阅之前,m1已经发出了一个Date对象,而m2在订阅时才会创建并发出一个新的Date对象。\[3\] #### 引用[.reference_title] - *1* *2* [3. Mono.defer 与 Mono.just 区别](https://blog.csdn.net/dydyswr/article/details/126681647)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [反应编程之Mono.defer](https://blog.csdn.net/john1337/article/details/104205774)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值