設計と疎結合の観点から。構成モデルの一部である可能性のあるプロジェクト内の各クラスにインターフェースを用意するのは良い考えですか?
私はこれを行っているプロジェクトを持っていますが、物事を比較的疎結合に保つために、かなり多くのインターフェースを取得しています。
設計と疎結合の観点から。構成モデルの一部である可能性のあるプロジェクト内の各クラスにインターフェースを用意するのは良い考えですか?
私はこれを行っているプロジェクトを持っていますが、物事を比較的疎結合に保つために、かなり多くのインターフェースを取得しています。
設計の詳細を知らなくても、それがInterface Segregation Principle (pdf) が機能するはずの方法です。
実装を交換する必要がある可能性のあるすべてのクラスにインターフェイスを提供する必要があります (たとえば、DTO ごとにインターフェイスを作成しません)。
私は通常、テスト用のクラスを疎結合するインターフェイスを作成して、テストに興味のないクラスの偽物を作成できるようにします。たとえば、ビジネス ロジック マネージャー クラスは、データ アクセス クラスのインターフェイスへの参照を持ちます。
テストに「継ぎ目」が実際に必要な場合にのみインターフェイスを作成します。すべてのインターフェイスを作成するだけではありません。