问题标签 [pluggable]
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.
.net - 我应该如何本地化可插拔组件
我们有一个应用程序,它将从单独的 dll 中动态加载一些组件。这些组件有一个固定的名称,但我们希望向用户显示本地化的名称,因此需要对名称进行本地化。
名称需要本地化这一事实与组件本身无关,因此我们真的不想用 DisplayName 或 LocalisedName 之类的属性污染组件的模型,并让组件的资源存在于dll 用于组件。但是由于这些组件是可插入的,我们不能在应用程序中使用显示名称的资源,因为当我们添加新组件时,应用程序的资源需要更新,从而破坏了使组件可插入的意义.
这个问题有通用的解决方案吗?我们可以看到的可能解决方案是:
1\ 有一个名为显示名称的属性,gui 代码调用它来显示名称。这工作正常,资源存在于与包含该组件的程序集(或附属 dll)相同的 dll 中。但这似乎用组件不应该关心的信息污染了模型。
2\ 让具有 GUI 的应用程序从其自己的资源文件中查找命名组件的资源。这会失败,因为当添加包含新动态加载的组件的新程序集时,应用程序需要更新其资源。
3\ 让应用程序在组件来源的程序集资源中查找组件的本地化名称。这似乎很好,因为组件的程序集中存在本地化名称,因此与它一起分发,但是具有表示层的应用程序会发起从组件 dll 中查找本地化字符串,因此组件不需要知道任何关于本地化,因此它的模型没有受到污染。
选项3可能吗?还有其他我们没有考虑过的选择吗?
干杯...
.net - 对于可插拔组件的本地化,这是一个很好的解决方案吗?
我之前问过一个只有一个答案的问题。我现在有一些时间来解决这个问题并制定了一个计划,但希望得到一些反馈,看看这是否是一个好主意。
问题:
我希望一个具有名称(不变,用于标识组件)的组件在使用它的应用程序中本地化其名称,而不会使用 DisplayName 属性污染组件的模型。该组件可能存在于单独的 dll 中,并在运行时动态加载。
我的感觉是组件 dll 应该负责提供本地化名称(这似乎是很好的封装),但使用该组件的应用程序应该负责获取/使用本地化名称(组件具有不同名称的事实显示目的不是组件的问题,而是使用该组件的“视图”)
解决方案:
将资源添加到与组件类所在的文件同名的组件 dll 中。使用作为组件名称的键向资源添加字符串。
在应用程序中获取本地化名称,如下所示:
此代码可能会封装在 Localiser 类中,但传达了这一点。这似乎可行,但这是一个好主意,还是有更好/更标准的方法来做到这一点?
编辑:我应该指出,我不确定这个解决方案的一件事是资源必须在一个 .resx 文件中,该文件与类所在的文件同名。这使它工作,因为可以从类型名称中识别资源文件。这与表单的本地化似乎工作相同,并使 Visual Studio 将 .resx 作为 .cs 文件的“子组件”,这一切看起来都不错。但是如果我尝试编辑这个文件,Visual Studio 会抛出一个警告(关于编辑作为另一个项目项的一部分的资源),这让我认为也许我应该这样做的其他方式。
java - 在 Java 中使用异步可插拔协议的 HTTP 请求
我需要向 Java 中看起来像“xy:index.html”的资源发出 HTTP 请求。
HTTP 实现不必很复杂。通过将服务器端的 HTTP 请求转发到“xy”协议,我只需要能够在 GWT 应用程序的开发模式下运行时避免同源违规。
任何关于我如何能够做到这一点的线索将不胜感激。我觉得我在这个方面有点不合群;)
python - 可插拔的 Python 程序
我想做一个支持插件的 PyQt4 程序。基本上我希望用户能够在 PyQt4 中编写 QWidget 子类,并通过 GUI 从主应用程序窗口中添加/删除它们。我该怎么做,尤其是插件机制?
asp.net-mvc - 可插入的 ASP.NET MVC 框架查询
我正在尝试创建一个可插入的 ASP.NET MVC 框架。我已经广泛使用 Prism(银光的 CAB)并且是一个超级粉丝,并希望在我的可插入 ASP.NET MVC 框架中实现以下项目
该框架将有一个主机来加载统一容器和其他基础设施项目,如日志服务等。
插件将是独立的 MVC2 应用程序。每个应用程序都将实现 IModule 接口,该接口将在 Unity 中初始化和注册 Controllers/VIEWS(这可能!!!)类型吗?
此 IModule 还将为每个插件注册自定义路由并将其添加到主机 Routes 集合。
当应用程序启动时,将从数据库/外部文件加载插件列表,并调用项目的 IModule 将上述项目加载到 Unity Container 中。
每当发出任何请求时,都会从统一加载控制器并加载视图(我是否可以统一注册一个自定义视图引擎,它将指向物理路径而不是将资源嵌入到 dll 中)
这可能吗。这个问题可能听起来有点愚蠢...... :)
perl - 可插拔/动态数据处理/修改/转换 perl 模块?
来自 perlmonks 的交叉发布:
我必须在 $work 上清理一些粗糙的、古老的代码,在我尝试制作一个新模块之前,如果有人知道合适的东西,我很乐意使用现有的模块。
在运行时,我正在解析一个文件以确定我需要对一组数据进行哪些处理。
如果我要编写一个模块,我会尝试更通用(非 DBI 特定),但我的确切用例是这样的:
我阅读了一个 SQL 文件来确定要对数据库运行的查询。我解析顶部的评论并确定
- A 列需要有 as/// 应用,
- B 列需要转换为给定格式的日期,
- C 列得到一种 tr///。
- 此外,可以链接事物,以便 D 列可能 s///,然后说如果它不是 1 或 2,则将其设置为 3。
因此,当从数据库中获取数据时,程序会在返回数据之前应用各种(可能是堆叠的)转换。
目前,代码是一系列令人作呕的大而困难的 if 子句,处理极其难以阅读或维护的指令数组。
所以我想象的可能是一个对象,它将解析这些行(并另外公开一个功能接口),堆叠要应用的处理器列表,然后能够在传递的数据上执行它。
可选地,可以有一个名称/类别选项,以便可以动态地使用一个对象来仅为给定的名称/类别/列堆叠处理器。
一个传统人为设计的例子:
每个处理器(gsub、date、exchange)都是一个单独的子程序。可以定义插件以按名称添加更多。
所以显而易见的第一个问题是,有人知道我可以使用的模块吗?到目前为止,我唯一能找到的是 [mod://Hash::Transform],但由于我将确定在运行时动态执行哪些处理,所以我总是最终使用“复杂”选项,我d 仍然需要构建解析器/堆栈器。
有人知道我可能想要使用/包装的任何类似模块甚至是轻度相关的模块吗?
如果没有什么通用的可供公众消费(当然我的不是暗盘中唯一的),除了从 DBI 返回数据之外,是否有人对要记住的事情或接口建议或什至其他可能的用途有任何建议,文本::CSV 等?
如果我最终编写了一个新模块,是否有人有命名空间建议?我认为 Data:: 下的某些内容可能是合适的......“可插拔”这个词一直在脑海中浮现,因为我的用例让我想起了 PAM,但我真的没有什么好主意......
- 数据::处理器::可插拔?
- 数据::Munging::可配置?
- 我::咀嚼::数据?
authentication - 如何提示来自 PAM 模块的一些信息
我正在为 ssh 编写一个 Plug-gable 身份验证模块。我正在寻找在用户名和密码验证之后但在授予用户访问权限之前提示一些额外信息。谁能建议我该怎么做。
实际上,在 SSH 之后,我想为其他一些服务扩展相同的功能。所以我在看一些 PAM 模块级别的建议。
[编辑] 解决方案:我使用了 PAM 提供的对话功能。它用于在 PAM 感知应用程序和模块之间进行通信。
谢谢,GG
wordpress - 无法修改标头信息 - 标头已由...发送 Wordpress 问题
我遇到了这个错误。我不知道如何处理这个。
无法修改标头信息 - 标头已由 /home/ben213/public_html/wp-includes/pluggable.php 中的(输出开始于 /home/ben213/public_html/wp-content/themes/Bendaggers/functions.php:9)发送第 934 行
我的 Functions.php 文件第 9 行是:
而我的 pluggable.php # 934 是
函数 wp_redirect($location, $status = 302) { 全局 $is_IIS;
由于我不是程序员,我很难弄清楚这一点。似乎有什么问题?请帮助我...
java - 如何从 Maven 运行 Pluggable Annotation API 处理器?
如何从 Maven 运行 javax.annotation.processing.Processor 实现?我真的很想使用Java 6 Pluggable Annotation API,而不是 apt。
asp.net-mvc-3 - 来自 ServiceStack 的 ASP.NET MVC 插件架构
ServiceStack 模块非常有趣。Iplugin 接口也非常适合 Rest 服务。但是可插拔mvc在哪里呢?:) 你有什么计划吗?当我说可插拔 Mvc 时,我指的是可插拔区域!