问题标签 [interface-segregation-principle]

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

java - 接口隔离原则背后的原因是什么?

接口隔离原则 (ISP) 说,许多特定于客户端的接口优于一个通用接口。为什么这很重要?

0 投票
9 回答
8821 浏览

design-patterns - 使用空方法的默认实现的设计模式

是否有特定的设计模式描述了提供非抽象默认实现的场景,该实现使用空的 NO-OP 实现实现接口上的所有或部分方法。这样做的目的是减轻子类实现它们自己可能不需要/使用的方法的负担:

我已经看到这种模式多次使用,包括SAX 框架中的 Java 的 DefaultHandlerMouseAdapter。在某些情况下,此类类被命名为适配器,但我的印象是适配器模式在两个不同的接口之间进行转换。

鉴于在这些情况下,只有一个已声明的接口被转换为该接口的未定义子集——我不清楚这如何符合适配器模式的精神。

此外,鉴于某些方法可能具有实现,并且 NullObject 传统上是单例,我也不太明白这如何遵守NullObject 模式。

0 投票
2 回答
630 浏览

qt - Qt 中的接口隔离

我总是尝试应用SOLID原则,我真的很喜欢 Qt 工具包,但我发现自己一直在使用单一继承规则

如果使用多重继承,moc 假定第一个继承的类是 QObject 的子类。 此外,请确保只有第一个继承的类是 QObject。

如何将 QObject 规则的单一继承与接口隔离原则结合起来。
我想用信号和槽定义接口,但我不允许这样做。

你如何克服这个缺点?

0 投票
4 回答
3479 浏览

design-patterns - 复合模式是 SOLID 吗?

复合模式中的叶子实现了组件接口,包括Add叶子永远不会使用的方法RemoveGetChild这似乎违反了接口隔离原则。

那么 Composite Pattern SOLID的用法是什么?

复合模式链接:http: //www.dofactory.com/Patterns/PatternComposite.aspx

0 投票
1 回答
625 浏览

javascript - jQuery中的接口隔离原则

谁能很好地说明这在 jQuery 中是如何工作的?

特别是关于here的答案。

这听起来与 OOP 的单一职责原则 (SRP) 相同吗?它有什么不同?

0 投票
1 回答
474 浏览

oop - 接口实现(接口隔离原则)

我有一种情况,我需要调用第三方服务来获取一些信息。对于不同的客户,这些服务可能会有所不同。我的界面中有一个身份验证功能,如下所示。

等等......现在我遇到了一个服务提供商(比如说 XYZServiceProvider),它需要一些额外的信息(agentid)来进行身份验证。像这样的东西......

现在,如果我在我的接口中提供另一个具有 3 个参数的 Authenticate 函数,并在除 XYZServiceProvider 之外的所有类中抛出未实现的异常,这是否违反了接口隔离原则?我在代码的其他一些部分也有类似的情况。谁能告诉我实现这种场景的最佳方法是什么?我真的很感激。

0 投票
3 回答
2497 浏览

design-patterns - 接口隔离原则是否只是单一责任原则的替代品?

接口隔离原则只是单一职责原则的替代品吗?

我认为,如果我的班级满足 SRP,则无需提取多个接口。

所以 ISP 看起来像是解决方案,以防我们出于某种原因不得不破坏 SRP。

我对吗 ?

0 投票
3 回答
461 浏览

oop - 接口隔离原则何时不适用?SOA?

我正在寻找不应使用接口隔离原则(来自 SOLID)的场景示例。

我看到的唯一提到(但未解释)的是 SOA 上下文中服务接口的情况。但为什么?是不是因为在这种情况下,界面设计上应该是胖的?通过 SOA 法令?

是否还有其他情况表明 ISP 不是一个好主意?

提前致谢。

0 投票
6 回答
7194 浏览

oop - 接口隔离原则——程序到接口

我正在阅读有关 SOLID 和其他设计原则的信息。我认为 ISP 与“编程接口,而不是实现”相同。但看起来这些是不同的原则?

有区别吗?

0 投票
2 回答
959 浏览

c# - 如何通过实现适配器模式来隔离胖接口?

假设我有一个无法更改的胖接口。而且我有一些客户端类只想使用该胖接口中的几个方法。如何针对这种情况实施适配器模式,以实现接口隔离原则?