私が理解しているように、UnitOfWorkクラスは、ドメイン内のビジネストランザクションの概念を表すことを目的としています。これは、データベーストランザクションを直接表すことは想定されていません。これは、可能な実装の1つだけの詳細です。
Q:では、なぜ作業単位パターンに関する多くのドキュメントが「コミット」および「ロールバック」メソッドに言及しているのですか?
これらの概念は、ドメインまたはドメインの専門家にとって何の意味もありません。ビジネストランザクションは「完了」できるため、UnitOfWorkは「Complete」メソッドを提供する必要があります。同様に、「ロールバック」メソッドの代わりに、「クリア」としてモデル化する必要がありますか?
アップデート:
回答:以下の両方の回答が正しいです。UoWには、オブジェクト登録と発信者登録の2つのバリエーションがあります。オブジェクト登録では、ロールバックはすべてのメモリ内オブジェクトへの変更を元に戻すのに役立ちます。発信者登録では、ロールバックは記録されたすべての変更をクリアするのに役立ち、その後のCommitの呼び出しは何もしません。