問題タブ [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 - YahooPipesに触発されたインターフェースの設計

私はYahooPipes(http://pipes.yahoo.com/pipes/)のインターフェースが本当に好きで、別の問題に対して同様のインターフェースを作成したいと思っています。同じ基本的なルックアンドフィールでインターフェイスを作成できるライブラリはありますか?

私は特にパイプがどのように振る舞うか、そしてそれらが単なる直線ではない方法が好きです。

編集:アプリケーションはWebベースになります。私はFlashまたはJavascriptを使用することにオープンです。

0 投票する
16 に答える
24612 参照

java - Java の Iterator インターフェースの利点は何ですか?

Java Collections Framework がリンクされたリストにデータ構造を実装する方法について学びました。私が理解していることからIterators、リストなどのデータ構造内のアイテムをトラバースする方法があります。このインターフェイスが使用される理由 メソッドがhasNext()next()ありremove()、データ構造の実装自体に直接コーディングされていないのはなぜですか?

Java Web サイトから:リンク テキスト

パブリック インターフェイス Iterator<E>

コレクションに対する反復子。イテレータは、Java コレクション フレームワークで Enumeration に取って代わります。イテレータは、次の 2 つの点で列挙型とは異なります。

  • イテレータを使用すると、呼び出し元は、明確に定義されたセマンティクスを使用して、反復中に基になるコレクションから要素を削除できます。
  • メソッド名が改善されました。
このインターフェースは、Java Collections Framework のメンバーです。

グーグルで調べてみましたが、明確な答えが見つからないようです。Sunがそれらを使用することを選択した理由を誰かが明らかにすることができますか? デザインが良いからでしょうか?セキュリティ強化?グッド OO プラクティス?

どんな助けでも大歓迎です。ありがとう。

0 投票する
5 に答える
257 参照

c# - (アップキャスト) インスタンスが特定のインターフェースを実装していないかどうかを調べる最良の方法

これを行う必要があるのは「デザインの匂い」かもしれませんが、別の質問について考えてみると、これのを実装する最もクリーンな方法は何だろうと思っていました。

つまり、特定のインターフェイスを実装していないすべてのオブジェクトを取得/反復する方法は?

おそらく、最高レベルにアップキャストすることから始める必要があります。

TODO を解決することで答えます: 最もクリーン/シンプルかつ/または最も効率的な方法で

0 投票する
17 に答える
3944 参照

php - 動的言語のインターフェースには何か意味がありますか?

Java のような静的言語では、インターフェイスが必要です。そうしないと、型システムによって特定のことができなくなるからです。しかし、PHP や Python のような動的言語では、ダックタイピングを利用するだけです。

PHP はインターフェースをサポートしています。Ruby と Python にはそれらがありません。ですから、それらがなくても幸せに暮らせることは明らかです。

私は主に PHP で仕事をしてきましたが、インターフェイスを定義する機能を実際に利用したことはありません。特定の共通インターフェースを実装するための一連のクラスが必要な場合は、それをドキュメントに記述します。

それで、あなたはどう思いますか?動的言語でインターフェイスをまったく使用しないほうがよいのではないでしょうか?

0 投票する
2 に答える
2879 参照

interface - インターフェース使用時の UML 集約

各クラスが実装クラスではなく、他のクラスのインターフェースへのリンクを持つように、UML で 2 つのクラス間の集約関係を表すにはどうすればよいですか?

たとえば、iFoo を実装するクラス Foo と、iBar を実装する Bar があります。Foo には iBar 型のメンバー変数が必要であり、Bar には iFoo 型のメンバー変数が必要です。

2 つの実装クラス間で集計を作成すると、メンバーはスーパークラスではなく、実装クラスの型になります。また、インターフェイス間の集約は UML では無効です (あまり意味がありません)。

0 投票する
10 に答える
2131 参照

c# - デリゲートは単なる省略形のインターフェイスではありませんか?

次があるとします。

これで、Bar と Baz を Foos として処理し、それらの Func メソッドを呼び出すことができます。

デリゲートはこれを少し単純化します。

これで、Foo デリゲートとして Bar と Baz をいじることができます。

コードが短くなる以外に、デリゲートの本当の利点は何ですか?

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-これは、インターフェイスの書き方についてはあまり重要ではありません。

0 投票する
3 に答える
5760 参照

java - そのような列挙型のインターフェイスを構築する方法

私は次の列挙型を持っています:

すべての列挙型にfind()、toString()、およびコンストラクターがあることを確認するためにStringEnumインターフェイスを構築することは可能ですか?

ありがとう。