私はデータアクセスレイヤーデザイン用の.Netエンタープライズライブラリーデータアクセスアプリケーションブロックを使用しています。私のカテゴリーDALクラスでデータアクセスレイヤー(DAL)デザイン
、私のような方法できた:など
GetProductsInCategory(int型のCATID)、GetAllProducts、GetCategories、
を私の質問は:どこ私はこのコード行を置くのですか?
DatabaseFactory.CreateDatabase("MyDB");
上記のすべての方法に入れてください。または、DALクラスにデータベースオブジェクトを返すベースクラスを用意しますか?
また、これらのDALクラスのメソッドを静的に保つ必要がありますか?
基本クラスがある場合、派生クラスは 'protected Database _myDatabase'にアクセスできるだけなので、ファクトリメソッドは必要ありません。 –
@Ian Quigley:はい、保護されたデータベース_myDatabaseをインスタンス化する必要があります。そのため、基底クラスのコンストラクタでファクトリクラスが必要です。 – Canavar
ur tips..iに感謝します。ベースクラスDBManagerから派生したすべてのDALクラスを取得します。このクラスには、コードを持つGetDatabase()という保護されたメソッドがあります: return DatabaseFactory.CreateDatabase( "MyDB"); 派生クラスのメソッドは次のようになります。...(次のコメントに続く) –