さかのぼる 12 月に、「[単純なオブジェクトに] 具象型を使用しても問題ない」という回答が寄せられたこの投稿がありました。
しかし、サンプル プロジェクトではインターフェイスを備えた単純なエンティティがますます増えており、制御したばかりの非常に大規模なエンタープライズ アプリケーション (89 個のインターフェイスを数えている) も見られます。
人々が最善のアプローチを選択しておらず、「私のプロジェクトは疎結合です!」と言ってプロジェクトを散発的にやっているだけなのでしょうか? アプローチ?
または、何か不足していますか。IService、IFactory、および IRepository 実装の具体的な型を使用して単体テストを実行できます (そして、非常にうまく機能します)。また、メイン ドメインから離れてこれらのサード パーティ ツールの多くを抽象化するための最初の「Anticorruption Layer」を構築しています。この腐敗防止レイヤーには、多くのファサード、トランスレーター、およびアダプターがあり、これらはすべて疎結合されています (または結合される予定です)。
それで、インターフェースを持つエンティティについて私が見逃しているものはありますか?
public interface IContent
{
Int32 ContentID {get; set;}
}
IList<IContent> list = new List();
編集:これらのインターフェースをすべて備えた私が持っているエンタープライズアプリには、単体テストがないことにも言及する必要があります。笑