そか

やっぱし良くないか? - 気楽に諸々の続き

ドメインオブジェクトからセパレートインターフェイスを呼び出したりすれば、いいんじゃん。あるいは、イベントを利用するのも手か。
たとえば書籍クラスと(図書館の)受付係クラス、利用者クラスがあったとする。受付係クラスは貸出メソッドを公開する。セパレートインターフェイスである受付係管理クラスにも、貸出メソッドを用意する。
受付係クラスの貸出メソッドは書籍クラスや利用者クラスに対して貸出処理を行ったあと、受付係管理クラスの貸出メソッドを呼び出す。そーすると、受付係管理クラスを継承したデータマッパーが DB の更新を行う。もし失敗したら、データマッパーはDB のロールバックを行い、受付係クラスは書籍クラスや利用者クラスのロールバックを行う。


ドメインオブジェクトのセッターはやっぱし公開するわけにはいかないけれど、代わりに各フィールドをまとめて変更するメソッドをドメインオブジェクトに用意すりゃいいかなぁ。
ちょっとこの方向で試してみるか。