問題タブ [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.
java - インターフェイス分離の原則の背後にある理由は何ですか?
Interface Segregation Principle (ISP) は、多くのクライアント固有のインターフェイスが 1 つの汎用インターフェイスよりも優れていると述べています。何でこれが大切ですか?
design-patterns - 空のメソッドを使用したデフォルト実装の設計パターン
空の NO-OP 実装を使用してインターフェイスのすべてまたは一部のメソッドを実装する、抽象的でない既定の実装が提供されるシナリオを説明する特定の設計パターンはありますか。これは、サブクラス自体が必要/使用しない可能性のあるメソッドを実装する負担をサブクラスに軽減することを目的として行われています。
SAX フレームワークの Java の DefaultHandlerやMouseAdapterなど、このパターンが何度も使用されているのを見てきました。場合によっては、そのようなクラスはアダプターと呼ばれますが、アダプター パターンは 2 つの異なるインターフェイス間で変換されるという印象を受けました。
これらのインスタンスでは、そのインターフェイスの未定義のサブセットに変換されている宣言されたインターフェイスが 1 つしかないことを考えると、これがアダプター パターンの精神にどのように含まれているかは明確ではありません。
さらに、いくつかのメソッドが実装を持つ可能性があり、NullObject は伝統的にシングルトンであることを考えると、これがNullObject パターンにどのように準拠しているかはよくわかりません。
design-patterns - 複合パターンはソリッドですか?
複合パターンのリーフは、リーフが使用することのない、、、およびメソッドを含むコンポーネントインターフェイスを実装しAdd
ますRemove
。GetChild
これは、インターフェイス分離の原則に違反しているようです。
では、Composite Pattern SOLIDの使用法はどうですか?
複合パターンへのリンク:http://www.dofactory.com/Patterns/PatternComposite.aspx
oop - インターフェイスの実装 (インターフェイス分離の原則)
情報を取得するためにサードパーティのサービスを呼び出す必要がある状況があります。これらのサービスは、クライアントごとに異なる場合があります。次のように、インターフェイスに認証機能があります。
など...今、認証のためにいくつかの追加情報(agentid)を必要とするサービスプロバイダー(XYZServiceProviderとしましょう)に出くわしました。このようなもの...
3 つのパラメーターを使用してインターフェイスに Authenticate 用の別の関数を提供し、XYZServiceProvider を除くすべてのクラスで実装されていない例外をスローすると、インターフェイス分離の原則に違反しませんか? コードの他の部分でも同様の状況があります。このタイプのシナリオを実装する最良の方法を教えてください。私は本当にとても感謝しています。
design-patterns - インターフェイス分離の原則は、単一責任の原則の代わりにすぎませんか?
インターフェイス分離の原則は、単一責任の原則の代わりにすぎませんか?
クラスが SRP を満たす場合、複数のインターフェイスを抽出する必要はないと思います。
したがって、ISP は、何らかの理由で SRP を壊さなければならない場合の解決策のように見えます。
私は正しいですか?
oop - インターフェイス分離の原則が適用されないのはいつですか? SOA?
インターフェイス分離原則 (SOLID から) を使用しないシナリオの例を探しています。
私が言及した (しかし説明されていない) 唯一のものは、SOA のコンテキストにおけるサービスのインターフェースの場合です。しかし、なぜ?この場合、インターフェースが設計上太っていることになっているからでしょうか? SOAの法令によって?
ISP が適切でない他の状況はありますか?
前もって感謝します。
oop - インターフェイス分離の原則 - インターフェイスへのプログラム
SOLID やその他の設計原則について読んでいました。ISPは「実装ではなく、インターフェースへのプログラム」と同じだと思いました。しかし、これらは異なる原則のように見えますか?
違いはありますか?
c# - アダプターパターンを実装してファットインターフェイスを分離するにはどうすればよいですか?
変更できないファットインターフェイスがあるとします。また、そのファットインターフェイスからいくつかのメソッドのみを使用したいクライアントクラスがいくつかあります。インターフェイス分離の原則を実現するために、この状況に対応するアダプタパターンをどのように実装できますか?