问题标签 [extensibility]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
773 浏览

metaprogramming - Boo 的元编程和可扩展性功能指南?

我有兴趣了解 Boo 更强大的功能,例如语法宏、解析器支持(Ometa?)、编译器管道等。我的印象是,这些领域一直在不断变化,而且文档记录不足。除了学习源代码,还有什么好的资源可以学习这些东西吗?

0 投票
2 回答
174 浏览

.net - MEF 什么时候发货?

我正在构建一个将在 .Net 4.0 发布后发布的产品。

MEF 是 .Net 4.0 的一个组成部分,所以我可以指望它们一起发布,或者它是一些可能单独发布的外部组件,因此使用起来很危险?

0 投票
1 回答
322 浏览

visual-studio - 属性网格中文件的可编辑 FullPath 属性 - Visual Studio 2008

我的 VS 2008 解决方案中有一个项目,其中包含文件项。每个项目在属性网格中都有一个名为“FullPath”的标准只读属性。

使属性网格的 FullPath 属性可编辑的最简单方法是什么?

0 投票
3 回答
863 浏览

.net - 基本 MEF 工作流程/用法

我正在寻找一个框架,它可以让我在我的 .NET 应用程序中拥有一个简单的插件系统。似乎 MEF 是 Microsoft 认可的框架,并将成为 .NET 4 的一部分(它似乎也可以与较旧的 .NET 版本作为单独的库以及 Mono 一起使用)。

我以前使用 Mono.Addins 作为不同项目的插件系统。基本思想是我定义了一组接口,这些接口成为“扩展点”,如果你愿意的话,是一个插件 API。

可以以类似的方式使用 MEF 吗?我如何开始使用 MEF,尤其是从具有 Mono.Addins 经验的人的角度来看?

0 投票
1 回答
521 浏览

visual-studio-2010 - 是否可以以编程方式访问 VS2010 中的调用层次结构

Visual Studio 2010 添加了调用层次结构功能。有谁知道是否可以从插件中访问它?

0 投票
1 回答
123 浏览

java - 用于对支持插件的系统进行编程的资源

我需要有关支持插件或可扩展性和其他相关详细内容的编程系统的资源(最好是文本),例如处理这些插件的权限和资源

0 投票
2 回答
1353 浏览

.net - 扩展/插件通信架构

一旦加载插件的问题得到解决(在 .NET 中通过 MEF 的情况下),下一步要解决的是与它们的通信。简单的方法是实现一个接口,使用插件实现,但有时插件只需要扩展应用程序的工作方式,可能会有很多扩展点。

我的问题是关于如何处理这些扩展点。我已经看到了不同的方法,但我不确定每种方法的优缺点,以及是否有更多更好的方法来实现这一点:

  • 事件:将静态事件添加到我们想要“可扩展”的所有内容中。例如,如果我想为 User 类添加自定义验证,我可以添加一个 OnValidation 静态事件处理程序,并在构造它时从插件向它添加事件。
  • 消息:有总线和消息。该插件可以订阅特定消息并在其他一些类发布该消息时执行某些操作。该消息应包含插件可以工作的上下文。在验证的情况下,逻辑层会发布一条 UserValidation 消息,插件会在收到消息时采取行动。
  • 接口:宿主应用程序负责调用所有实现特定接口的插件,并为它们提供当前操作的上下文。在验证的情况下,插件可以使用 Validate(object context) 方法实现 IValidator 或 IUserValidator。

您曾经使用过其中一种公开的方法吗?哪一个最适合您?

在您问之前,我们的应用程序是一个可扩展的核心(用户、角色和内容管理),可在此基础上构建我们客户特定的以内容为中心的 Web 应用程序。一切都建立在 ASP.NET MVC 之上。

0 投票
1 回答
179 浏览

c# - 带有用户提供的 RegEx 的插件模型

我在 C# WPF 中有一个程序可以分析某些日志文件。每个日志都包含格式为包含地址和数据偏移量的数据行。

例如,一些日志文件可以具有以下格式:

或者有些可以具有以下格式:

可以有许多这样的格式,但请放心,使用适当的 RegEx 解析时,每一行都应始终返回一个地址和一个数据。

我想让这个 RegEx 可以从应用程序中控制。我不想在源代码中对每种格式的 RegEx 进行硬编码。用户应该能够修改现有的 RegEx 或为新的日志文件添加新的 RegEx。我应该为他提供类似表格的东西,他可以从中选择特定行或为新日志文件添加新行

桌子:

日志名称 - 正则表达式

MMIO 日志 - MMIO ([0-9]{8}) : ([0-9]{8}) --> 单选按钮

写入日志 - 写入 ([0-9]{8}) : ([0-9]{8}) --> 单选按钮

我怎样才能做到这一点?我可以将它存储在某种配置文件中还是使用我不太了解如何实现的插件模型。

0 投票
1 回答
187 浏览

.net - 如何为 MEF 组件提供 API 存根?

Visual Studio 2010 SDK 附带许多程序集,例如 Microsoft.VisualStudio.Text.Data 和 Microsoft.VisualStudio.Text.UI,它们只是存根。若要为 Visual Studio 编写扩展,请引用这些程序集,但将引用的“复制本地”和“精确版本”属性设置为 false。在 Visual Studio 中加载扩展时,引用将绑定到 Visual Studio 先前加载的这些程序集的内部实现。

我想提供一个新的 MEF 导出组件,它充当其他 MEF 包可以的 Visual Studio 服务[Import]。要使用该服务,其他组件将需要引用我的包 - 但我更喜欢它们引用一个存根,这样我就可以对我的服务的内部实现进行更改,而不会破坏引用它的其他包。如何提供一个“存根”程序集,其中包含来自某个任意程序集的公开可见的 API 组件,这样如果您引用存根,它将在运行时与提供的实现无缝协作?

0 投票
2 回答
210 浏览

model-view-controller - MVC - 创建新视图而不向控制器添加操作

我正在使用 asp.net MVC 1.0 开发一个类似 CMS 的迷你应用程序(一旦 2.0 发布,我将对其进行升级)。一旦我想要的功能,对 CMS 来说非常重要,就是管理员向他们的网站添加页面的能力。

本质上,如果管理员想要添加一个名为“链接”的页面,我希望他们能够这样做,而不必经历将操作添加到控制器和编译新程序集的任何麻烦。

我有一个解决方案的想法,我想知道社区的想法。

我认为我应该编写一个扩展 Controller 类的类(为了参数,我们称之为 UserGeneratedGenericController)。在这个类中,我将有一个读取参数并重定向到与传递给操作的参数对应的视图的操作。

我还必须编辑Global.asax.cs文件中的路由

因此 /UserGeneratedGenericController/Links将命中相同的 Action /UserGeneratedGenericController/News,但会根据需要显示视图。

你说什么?我对您对这种方法的评论以及您对其他方法的建议感兴趣。