検索しただけで質問の答えが見つからなかったのはこれが初めてだと思います。
会社のシステムをリメイクするためにいくつかのプロトタイプを作成していて、理解できない問題にぶつかりました。
私は、合理的に一般的なDAO結合依存性注入を利用しようとしています。私が抱えている問題は、インターフェイスのメソッド内でクエリ定義にサードパーティのライブラリを使用したいということです。
例
public interface TestDAO<TEntity>
{
/// <summary>
/// get ALL the things
/// </summary>
/// <returns></returns>
IEnumerable<TEntity> GetAll();
/// <summary>
/// Runs a supplied "where" clause and returns ALL the matched results
/// </summary>
IEnumerable<TEntity> FindAll(Specification<TEntity> specification);
}
この場合の仕様は、LinqSpecs と呼ばれるサードパーティ ライブラリのオブジェクトです。
これを行うことで、本質的にインターフェイスの実装でサードパーティのライブラリへの依存を強制していることを理解しています。
ライブラリの使用を控えることができることは理解していますが、可能であれば、少なくともその有用性を評価するまでは保持したいと考えています。
私の質問は、サードパーティの依存関係をドラッグせずにこれを行う方法(または同様の方法)があるかどうかです。
前もって感謝します。