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

interface - 设计受 Yahoo Pipes 启发的界面

我真的很喜欢 Yahoo Pipes 的界面(http://pipes.yahoo.com/pipes/),并且想为不同的问题创建一个类似的界面。是否有任何库可以让我创建具有相同基本外观的界面?

我特别喜欢管道的行为方式以及它们不仅仅是直线的方式。

编辑:该应用程序将是基于网络的。我愿意使用 Flash 或 Javascript。

0 投票
16 回答
24612 浏览

java - Java中的Iterator接口有什么好处?

我刚刚了解了 Java 集合框架如何在链表中实现数据结构。据我了解,Iterators这是一种遍历数据结构(例如列表)中的项目的方法。为什么要使用这个接口?为什么是方法hasNext()next()remove()不是直接编码到数据结构实现本身?

来自 Java 网站:链接文本

公共接口迭代器<E>

集合上的迭代器。Iterator 在 Java 集合框架中取代了 Enumeration。迭代器在两个方面不同于枚举:

  • 迭代器允许调用者在具有明确定义的语义的迭代期间从底层集合中删除元素。
  • 方法名称已得到改进。
此接口是 Java 集合框架的成员。

我尝试谷歌搜索,似乎无法找到明确的答案。有人能解释一下 Sun 选择使用它们的原因吗?是因为更好的设计吗?提高安全性?好的OO实践?

任何帮助将不胜感激。谢谢。

0 投票
5 回答
257 浏览

c# - 找出(upcast)实例是否没有实现特定接口的最佳方法

也许这样做的需要是一种“设计气味”,但考虑到另一个问题,我想知道实现与此相反的最干净的方法是什么:

即如何获取/遍历所有实现特定接口的对象?

大概你需要从向上转换到最高级别开始:

通过解决 TODO 来回答:以最干净/最简单和/或最有效的方式

0 投票
17 回答
3944 浏览

php - 动态语言中的接口有什么意义吗?

在像 Java 这样的静态语言中,您需要接口,因为否则类型系统不会让您做某些事情。但在 PHP 和 Python 等动态语言中,您只需利用鸭子类型

PHP 支持接口。Ruby 和 Python 没有它们。因此,没有它们,您显然可以幸福地生活。

我大部分时间都在使用 PHP 进行工作,但从未真正使用过定义接口的能力。当我需要一组类来实现某个通用接口时,我只是在文档中描述它。

所以你怎么看?完全不使用动态语言的接口不是更好吗?

0 投票
2 回答
2879 浏览

interface - UML aggregation when interfaces are used

How do I represent an aggregation relation between two classes in UML, such that each class has a link to the other class's interface, not the implementing class?

E.g. I have a class Foo that implements iFoo, and Bar that implements iBar. Foo should have a member variable of type iBar, and Bar should have a member variable of type iFoo.

If I create an aggregation between the two implementing classes, then the member will be of the type of the implementing class, not the superclass. And aggregations between interfaces are invalid in UML (and don't make much sense).

0 投票
10 回答
2131 浏览

c# - 代表不只是简写接口吗?

假设我们有:

现在我们可以将 Bar 和 Baz 作为 Foos 折腾并调用它们的 Func 方法。

代表简化了这一点:

现在我们可以将 Bar 和 Baz 作为 Foo 代表折腾。

除了获得更短的代码之外,委托的真正好处是什么?

0 投票
18 回答
1213 浏览

language-agnostic - 接口的概念从何而来?

在 C# 中,我们有接口。这些是从哪里来的?它们在 C++ 中不存在。

0 投票
4 回答
7034 浏览

java - 测试所有在 Java 中实现接口的类

有什么东西可以让您自动测试接口的行为(特别是针对 Java)吗?例如,假设我对 Comparable 接口进行了一堆测试,这些测试应该适用于实现 Comparable 的任何东西。我想要的是能够在我的任何实现 Comparable 的类的测试装置中自动包含“ComparableTests”。如果这适用于通用接口,则可以加分。

我知道 .NET 框架mbUnit有类似的东西,当你使用类似 TestNG 的生成器函数时,你可以为 Comparable 设置一个测试装置,并让生成器为你的每个实现 Comparable 的类创建一个实例。但我更希望它是自动的,并且位于我的每个类的测试夹具中(因为我已经有了它们来测试该类的其他部分)。

澄清:我绝对可以建造这样的东西。我在问是否有任何东西已经启用了这个。

0 投票
10 回答
586 浏览

.net - .NET - 你可以通过接口,什么时候不应该接口

是否可以通过接口?现在在设计系统时,我将从接口开始,逐步编写单元测试以及接口,直到我有一个运行良好的模式。我将继续编写一些具体的类,并针对这些设置单元测试。

现在我是一个喜欢接口的人,当我控制代码时,我通常只会传递/返回原语或接口。到目前为止,我发现这是理想的,您可以轻松地调整和增强系统不影响从属系统。

我显然不需要出售使用接口的原因,但我想知道它是否过度连接所有东西,ps。我不是在谈论空白界面,因为有些疯狂,例如:

我说的更像是:

这真的过分了吗?我的理由是,任何类型都可以在某个时候从接口中受益。我遇到的唯一真正问题是我必须学习我认为设计课程的更好方法,因为你没有愚蠢互动和“黑客”正在发生。

如果这是否是一个定时炸弹,以及当您决定接口与否时,希望您能提供反馈。

ps-这实际上并不是关于如何编写接口。

0 投票
3 回答
5760 浏览

java - 如何为此类枚举构建接口

我有以下枚举:

是否可以构建 StringEnum 接口以确保每个枚举都有 find()、toString() 和构造函数?

谢谢。