问题标签 [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 投票
3 回答
714 浏览

google-app-engine - 如何为 Google App Engine 设计可扩展的 CMS?

我喜欢 CMS 的可扩展性。您可以上传一些代码(通常是 PHP),从 CMS 管理面板授权它并且它正在运行。

我想知道在 Google App Engine 中是否有可能。我还没有检查 Google App Engine 的现有 CMS 的可扩展性,但是如果它们中的任何一个支持插件,我想知道它们是如何做到的,以及它们是否只是 JS 插件,或者它们是否支持 Python/Java插件也是。

0 投票
1 回答
3044 浏览

spring - Spring配置文件中的多个messageSources

我们的 Web 应用程序使用 Spring 2.5。它由几个模块组成,每个模块都可以带来额外的 Spring 上下文文件,这些文件会自动加载(到一个应用程序上下文中)。我们想让每个模块都提供额外的资源包(用于 I18N 支持)。

Spring 通过在配置文件中注册一个名为 messageSource 的 bean 来支持国际化,但这假设我确切知道包含翻译字符串的类或属性文件的完全限定名称是什么。这是一个问题,因为其他模块可能会将自己的属性文件放在不同的位置。所以我正在寻找一种方法让每个模块使用自己的资源包定义自己的 messageSource,但我不知道该怎么做。

有人知道这个问题的解决方案吗?

谢谢。

0 投票
1 回答
1367 浏览

linq-to-sql - Linq to SQL 可扩展性方法定义

如果我有一个说用户的 Linq 表,然后我会做这样的事情;

最终发生的是记录永远不会在数据库中更新。

一旦我摆脱了 UpdateUser 方法,数据库就会再次更新。

我在网上找到了一些内容,其中提到只要您实现了插入、更新和删除这三种可扩展性方法中的任何一种,数据库就不再更新。

这是正确的吗?有没有办法让它工作?

0 投票
2 回答
827 浏览

linq-to-sql - LINQ to SQL 表扩展方法

如果我有一个 LINQ to SQL 表,其中有一个名为 Alias 的字段。

然后有一个名为 OnAliasChanging(string value); 的方法存根;

我要做的是抓取值,检查数据库中值是否已经存在,然后将值设置为已经输入的值。

所以我可能会将我的别名从“griegs”更改为“slappy”,如果 slappy 存在,那么我想恢复为“griegs”的现有值。

所以我有;

当我检查 prevValue 的值时,它始终为空。

如何获取字段的当前值?

更新

如果我实现类似的东西;

它进入一个不健康的无限循环。

如果我检查别名是否已经==“TEST VALUE”,则无限循环仍然保留,因为该值始终是原始值。

有没有办法做到这一点?

0 投票
2 回答
415 浏览

fluent-nhibernate - 流畅的界面体验?我需要你的意见!

抱歉这个长问题,它被标记为 wiki,因为我要求的东西可能没有非常具体的答案。如果它关闭了,那就这样吧。

我的主要问题是:

您将如何编写一个未在基类中完全定义的流畅接口,以便使用流畅接口的程序可以在现有结构中添加新词,并仍然保持引导界面,以便在点之后,智能感知仅列出此时实际应用的关键字。


我正在进行第三次重写 IoC 容器的迭代。第二次迭代是为了提高性能,第三次迭代将解决一些可扩展性问题和分离问题。

基本上,可扩展性的问题是没有。我最近想使用一个有生命周期的服务,在生命周期结束后,解析一个新副本。例如,每分钟读取一个配置文件,但不会更频繁。我当前的 IoC 解决方案不支持这一点,但添加它的唯一方法是进入基类库并在那里添加对它的支持。这对我来说意味着我未能构建可扩展的类库。平心而论,我并不打算在其中构建可扩展性,但是我并没有完全意识到稍后再添加这样的东西会有多痛苦。

我正在查看我的流利配置界面,因为我也想在界面中构建完整的可扩展性(或摆脱它,我不愿意这样做),我需要以不同的方式做事。

因此,我需要你的意见。我实际上使用流畅接口的经验很少,但我见过很多使用它们的代码,因此开箱即用有一个明显的好处:

  • 使用流畅接口的代码通常很容易阅读

换句话说,这:

比这更容易阅读:

所以可读性是一个问题。

然而,程序员指导是另一回事,通过阅读现有代码、在网络上或在编辑器中不容易理解。

基本上,当我输入以下内容时:

然后智能感知将显示可用的分辨率类型。在我选择了那个之后,然后写:

然后我只能在“For”关键字之后获得可用的东西,例如“Policy”等。

然而,这是一个大问题吗?你用过的流畅的界面是这样的吗?定义接口的明显方法是创建一个包含所有关键字和所有内容的类或接口,以便每个逗号后的智能感知包含所有内容,但这也可能导致这是合法的(例如,它编译)代码:

所以我想构建流畅的接口,这样在你指定如何解析服务之后,你就不能再这样做了。

  • 换句话说,流畅的界面非常易于使用,因为它们会引导您完成您可以做的事情。

但这是典型的吗?由于我希望能够添加一堆这样的关键字,比如解析器的类型(ConcreteType、Delegate等)、作用域的类型(Factory、Container、Singleton、Cache等)作为扩展方法,这样程序可以定义自己的方式来做到这一点,而无需进入并更改基类,这意味着我需要为所有中间停止提供接口,并让实际重要的关键字成为。然后,这些关键字的实现必须根据需要选择一个要返回的中间停止接口。

所以看起来我需要定义一个接口:

  • xyz.来自。
  • xyz.From.<Resolver here>.
  • <Resolver here>.With.
  • <Resolver here>.For.

等等,但这在我看来是支离破碎的。

任何有流畅界面经验的人都可以回去阅读我在顶部附近引用的答案并尝试给我一个简短的答案吗?

0 投票
2 回答
124 浏览

.net - .NET 插件...去哪里

我正在编写一个Windows 应用程序,它通过它的 API 连接到网上商店并读取/写入值。

网上商店可以有多个支付网关,我正在考虑为每个网关编写一个插件并创建一个用户界面,该界面可用于选择每个网关并加载正确的程序集......

我的想法是拥有多个库(.dll)并在设置后加载正确的库...

我确实认为这是 80 年代后期的发展,所以我想知道是否有任何新东西可以帮助我在 .NET 3.5 SP1 上开发这种行为

我是这个问题的新手,为此我会问你解决这个问题的最佳方法是什么。

谢谢你。

PS我读到了MEF托管扩展框架),但它仍然是预览版(MEF 预览版 8 是当前版本),并且只能在 .NET 4.0 上使用,所以我不能那样做:-(

0 投票
2 回答
800 浏览

ruby-on-rails - 在 rails 模型中扩展现有的属性获取器

我在同时使用acts_as_textiled 和has_foreign_language 插件时遇到问题。

TextElement我的应用程序中的模型

有外语

纺织业

两个插件都使用define_method,无论哪种方式,我都会在TextElement中调用mixins,后者会覆盖先前定义的getter。

有没有办法保存现有的 getter 并在新定义的 getter 中调用它?如果它们是继承的,则类似于使用 super 。

我已经分叉了这些插件,所以那里都是公平的游戏。

所有帮助表示赞赏。

0 投票
1 回答
257 浏览

c# - FTP7.5 - C# IFtpLogProvider 不正确的 LocalIP/RemoteIP

我遇到了以下问题,仅适用于 Server 2008 R2。Microsoft FTP 7.5 有一个可扩展性接口 IFtpLogProvider,我正在尝试实现该接口以在人们连接时进行一些自定义日志记录。

正如此处此处所报告的,这是2009 年 8 月 3 日发布之前的 FTP 7.5 版本中的 IFtpLogProvider.Log() 方法中的一个问题。

所以我的问题是——Server 2008 R2 的最新版本是什么?我可以确认:

6.1.7600 构建 7600

有这个问题,我找不到升级到没有这个问题的 FTP7.5 版本的方法。不幸的是,Server 2008 的安装程序将无法工作:(。我完全陷入困境,除非我能找到 R2 更新来解决这个问题,或者我可以确认没有这个问题的 R2 更新版本可用。

感谢您的任何意见!

0 投票
3 回答
242 浏览

c# - 在 C# 应用程序中获取插件或扩展功能的步骤是什么?

多年来,我在 Win32 和 C/C++ 中完成了插件架构,扩展点从 DLL 动态加载,带有LoadLibrary,GetProcAddress等。

现在是 C# 的时候了。那里的相应步骤是什么 - 动态加载程序集?或者它是一个完全不同的模式?

0 投票
1 回答
3913 浏览

visual-studio - 为自定义设计器编写 Visual Studio 扩展

所以,我有一些我想尝试的东西。这个想法是有一个可视化设计器作为 Visual Studio 扩展工作,我希望能够拖出事件处理程序并连接行为,任何曾经玩过魔兽争霸 III 脚本编辑器的人都会很清楚我是什么我想做。这种事情在视觉工作室可扩展性工具中是否容易处理?如果是这样,我应该从哪里开始学习如何做到这一点?