- 605 名前:nobodyさん [2006/10/28(土) 17:56:31 ID:FIh0kQ4t]
- ちょっと行き詰ったので、お知恵を拝借させてください。
複数のAppManagerでの処理にまたがるトランザクションの方法について 悩んでいます。 たとえばポイント制の物販(?)のようなものがあるとして、顧客情報と 購入情報のAppManagerを用意しました。購入処理を行った場合、顧客 情報からはポイント減算処理、購入情報には履歴を書き込みます。 単位の処理だと、 $user_m->userPoint( 30 ); // 30ptを消費 $sales_m->addHistory( ... ); // 購入履歴を追加 のように実装できますが、これらは同じトランザクション内で処理される 必要があります。 一方のManagerから他方のManagerを呼び出して処理をまとめてしまうことも 可能ですが、Managerの独立性が保たれないのでそれは気持ち悪いです。 これらのManagerを管理する別のManagerを作成して、そこでトランザクションを 制御するというのも考えましたが、機能ごとに分離すると数ばかり多くなって 収拾がつかなくなってしまいました。(かといって統合すると用途がごちゃごちゃの Managerができてしまう罠…) 続きます↓
|

|