问题标签 [fluent-interface]

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 投票
4 回答
476 浏览

language-agnostic - 流畅接口的有趣用途?

我想知道流畅的界面在何时何地是个好主意,所以我正在寻找示例。到目前为止,我只发现了 3 个有用的案例,例如 Ruby 的集合,比如

Fest (Java) 用于单元测试:

JMock。你知道其他使用流畅界面的好例子吗?

0 投票
8 回答
2137 浏览

oop - 流畅的接口和有漏洞的抽象

什么是流畅的界面?我找不到一个好的定义,但我得到的只是我不太熟悉的语言(例如 C++)的长代码示例。

另外,什么是泄漏抽象?

谢谢

0 投票
1 回答
1385 浏览

.net - Castle-Windsor Fluent Interface:如何注册所有接口的所有实现?

我有两个程序集EDC2.DALEDC2,其中 EDC2.DaoInterfaces 定义了一组接口,用于数据访问对象到 EDC2.Domain 命名空间中的对象。这些都是由 EDC2.DAL 中的类实现的。

所以举个例子:

我想使用 Windsor 的流利接口将 EDC2.DaoInterfaces 中的所有接口注册为由它们在 EDC2.DAL 中的相应实现者实现。

谁能告诉我该怎么做?

0 投票
4 回答
798 浏览

.net - 您使用什么约定/习惯用法/模式使用新的 Fluent 接口配置 IOC 容器

我正在将大量代码移至 Castle Trunk,其中包括用于配置容器的新流利界面。由于该项目有一个无法维护的巨大 windsorConfig xml 文件,我想我会开始利用这个新功能。我知道其他容器(例如 StructureMap 2.0)也包含用于容器配置的流畅接口,所以这个问题不是基于 Windsor。

我的问题是,您使用新的流利样式接口进行容器配置时使用了哪些约定/习惯用法/模式?

我的第一个想法是在某处创建一个静态方法(例如 ContainerConfig.Config),它将应用程序使用的所有相关类型加载到容器中。我担心最终这个单一功能最终会像 xml 配置文件一样难以维护(减去尖括号税)。

我的第二个想法是将其分解,以便每个依赖程序集按照约定导出其默认配置。我可以看到这对于程序集内部使用的层次结构很有用。但是对于外部使用的类型,是否应该在内部定义配置?

我想得越多,我似乎提出的问题就越多。你对此有什么想法?

0 投票
6 回答
2741 浏览

c# - 将 XML 文档转换为流利的 C#

我想将没有任何与之关联的 XSD 架构的外部 XML 文档转换为流畅的 .NET 对象。

我有一个简单的 XML 文件,例如:

我想浏览文档,例如:

在 .NET 3.5 中实现这一目标的最佳方法是什么?

0 投票
8 回答
1259 浏览

java - 单独的解码/编码接口或在一个接口中

我正在创建一个执行从一种形式到另一种形式的转换的实现。

我现在面临的设计问题是 Encoder 和 Decoder API 应该在一个接口中还是在不同的接口中。例如 Apache MINA 使用单独的接口

我目前正在做这样的事情:

将它们放在一个接口中的基本原理是,您可以集中实现并在一个地方修复任何协议更改。对此有什么想法吗?

0 投票
1 回答
438 浏览

.net - 温莎城堡:那么 ActAs 是做什么的?

我注意到 Castle Windsor fluent 组件注册接口有相当混乱的 ActAs() 方法。

谷歌搜索它,我发现的唯一参考是在他们的 wiki

TODO(可以记录的东西)

  • ActAs() 是做什么的?

不太有帮助。

来源似乎没有任何单元测试可以提供有关其用法的线索,而且我对他们的来源太不熟悉,无法自己告诉自己发生了什么。

有人知道更多吗?

0 投票
3 回答
26578 浏览

php - 如何做一个 PHP 嵌套类或嵌套方法?

我怎样才能在 PHP 中做到这一点

我的意思是嵌套方法或嵌套类(我不知道!)所以当我作为用户的孩子调用限制方法时,它会知道我是从“用户”方法或类调用它并且当我调用限制方法 - 或类!- 来自评论 它也知道这一点。

PHP 类做这件事的可能结构是什么?


这个问题的原因是因为我正在为我自己的数据库类工作,所以我可以轻松地使用这样的东西

生成 sql 代码 "select * from comments where id > 3 limit 10" 谢谢

0 投票
7 回答
3990 浏览

c# - DSL/流利的接口有什么意义

我最近正在观看有关如何创建流畅的 DSL的网络广播,我不得不承认,我不明白为什么要使用这种方法(至少对于给定的示例)。

网络广播展示了一个图像大小调整类,它允许您使用以下语法(使用 C#)指定输入图像、调整大小并将其保存到输出文件:

我不明白这比采用一些参数的“传统”方法更好:

从可用性的角度来看,这似乎更容易使用,因为它清楚地告诉您方法期望作为输入的内容。相比之下,使用流畅的界面,没有什么能阻止您省略/忘记参数/方法调用,例如:

那么关于我的问题:

1 -有什么方法可以提高流畅界面的可用性(即告诉用户他应该做什么)?

2 -这种流畅的接口方法是否只是 C# 中不存在的命名方法参数的替代品?命名参数是否会使流利的接口过时,例如类似的objective-C提供的东西:

3 -流畅的界面是否仅仅因为它们目前很流行而被过度使用?

4 -或者它只是为网络广播选择的一个坏例子?在这种情况下,请告诉我这种方法的优点是什么,在哪里使用它有意义。

顺便说一句:我知道 jquery,并且看到它使事情变得多么容易,所以我不是在寻找关于那个或其他现有示例的评论。

我更多的是寻找一些(一般的)评论来帮助我理解(例如)何时实现一个流畅的接口(而不是一个经典的类库),以及在实现一个时要注意什么。

0 投票
1 回答
263 浏览

inversion-of-control - Windsor Fluent 界面生活方式

这些是用于设置组件生活方式的等效语法吗?