11
基本クラスと同じファイルでインターフェイスを宣言するのは良い習慣ですか?
交換可能かつテスト可能であるためには、通常、ロジックを備えたサービスにインターフェースが必要です。 public class FooService: IFooService { ... } 設計面ではこれに同意しますが、このアプローチで気になる点の1つは、1つのサービスに対して2つのもの(クラスとインターフェース)を宣言する必要があり、チームでは通常2つのファイル(1つクラス用とインターフェイス用)。IDE(VS2010)で[定義に移動]を使用すると、実際のクラスではなくインターフェイス(他のクラスがインターフェイスを参照するため)を指すため、ナビゲーションの難しさがもう1つあります。 FooServiceと同じファイルにIFooServiceを記述すると、上記の奇妙さが軽減されると考えていました。結局、IFooServiceとFooServiceは非常に関連しています。これは良い習慣ですか?IFooServiceを独自のファイルに配置する必要がある正当な理由はありますか?