2016-04-28 4 views

答えて

30

対これは素晴らしい質問です。理想的には、インターフェースとオブジェクトのタイプに違いはありません。実装されているように、それらの間には(しばしば微妙な)いくつかの違いがあります。

最も大きな違いは、インターフェイスで宣言されたメソッドが「読み取り専用」であると見なされることです。これにより、サブタイプを共変動させることができる。メソッドは、継承階層を持つ非常に一般的なパターンです。

時間で、私はフローは、これらの概念を統一見たい、それまで、ここで親指の私のルールは、インタフェースおよびオブジェクト型の間で選択するためです:あるほとんどのデータの袋を記述するための

  • 使用オブジェクトの種類をReactコンポーネント、Flux/Reduxアクション、JSONのようなものなど、あなたのアプリで回っています。
  • インターフェイスを使用して、サービスのようなインターフェイスを記述します。通常、これらは主にRx.Observable/Observer、Flux/Reduxストア、抽象インターフェースなどのメソッドです。クラスインスタンスがあなたのタイプの住人である可能性が高い場合は、おそらくインターフェイスが必要です。

+0

nice answer、ありがとうございます! – vitorbal

+0

これを拡張することができます: 'これは、サブタイプが共変型であることを可能にします。方法? – CMCDragonkai

関連する問題