質問

私はADO.NET2.0とC#、Sql Server 2005を使用してデータアクセス層を設計しています。これらの呼び出しをどこに行うかについて、頭の中でよく争っています。保守可能な堅牢なコードを作成するには、以下のどの方法に従う必要がありますか。

方法1 ジェネラコディセタグプレ

方法2 ジェネラコディセタグプレ

そして私はコアデータアクセスを行うために以下のような別のクラスを使用します。以下のように ジェネラコディセタグプレ

役に立ちましたか?

解決

方法2を使用します。データソースからの読み取り/書き込みはCompanyクラスの責任ではありません単一責任の原則)。ただし、ICompanyRepositoryインターフェイスを作成してから、インターフェイスのCompanyRepository実装を作成することもできます。このようにして、会社情報を保存/取得する必要があるクラスにICompanyRepositoryを挿入できます。また、ユニットテストが簡単になり、将来的に別の実装を作成できるようになります(データベースからxmlファイルへの切り替えなど)。

他のヒント

関心の分離の原則に従う場合は、方法2を使用します。

クラスごとに異なる責任を持つことは、テスト可能で保守可能なコードの作成に役立ちます。

これにより、より小さく、よりまとまりのあるクラスが生成され、記述、推論、および正確性の確認が容易になります。

注意として、データアクセスを手作りする代わりに、 ORM を使用できます。レイヤー。

私は2番目の選択肢を支持します、原因

  • 最初にdata holderを作成します
  • ジェネラコダイスタグコードを作成した後

    したがって、この場合、データをそれらを操作する関数から分離し、operational unitを非常に簡単にし、コードの異なるドメイン間で責任を分散します。バグのローカリゼーションも簡単です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top