私はC#.NETでデスクトッププロジェクトを構築しています:GUI、ビジネスおよびデータアクセスレイヤー。各ビジネス層クラスは、データベースのエンティティを表します。私はlinqを使用してデータベースにアクセスしています。しかし、今日のプロジェクトの実装方法では、多くの操作をアトミックにすることはできません。ビジネスレイヤで行う必要があります。"unitOfWork"をビジネスレイヤーに持つベストプロジェクトパターン
いくつかのデザインパターンを検索し、同じコンテキストでデータレイヤー内のすべての操作を行い、すべての変更がサブミットされた後にunitOfWorkが見つかりました。これは、操作をアトミックにするために機能します。しかし、問題は、私がやりたい操作は、前に検証する必要があるということです。つまり、データレイヤからメソッドを呼び出す代わりに、以前に検証されるビジネスレイヤからメソッドを呼び出す必要があります。このビジネス・レイヤーの呼び出しは、別のunitOfWorkを作成し、結果として、私がしようとしているより大きな操作のアトミック性を破る別のコンテキストを作成します。
質問:同じlinqコンテキスト内のビジネスレイヤからビジネスレイヤの1つ以上のメソッドを呼び出すにはどのようなプロジェクトパターンが最適でしょうか?それをやっての
良いと思われます。このプロジェクトパターンには名前がありますか?これについてもっと検索したいですか?ありがとう! – joaocarlospf
これは、CQRS:コマンド/クエリの責任分担に基づいています。 –