会員の貸出数の実装
図書館のシステムで、特定の会員が現在貸りている書籍の数(貸出数)をどのように実装するかな?
(1)会員クラスに貸出数プロパティを作成する?
(2)貸出サービスに会員の貸出数を取得するメソッドを作成する?
(3)その他
(1)は会員と貸出が双方向の依存になる。(2)は貧血症になるかな。
その他としては、インタフェース(貸出IN会員)を導入して依存性をテクニカルに一方向にする方法かな。
いずれにしても、案外悩むんだよね。OOをある程度知っている人の方が双方向や貧血病になるのがいやかも。こんなことがドメインモデルが導入されない理由だったりしているのかな。
トランザクションスクリプトであれば、会員Noで貸出を検索するとかんがえるだけでOKで難しく考える必要がない。結合度がどうのこうのと考える必要がない。データベース(データアクセス層)の全ての要素をサービス層からアクセスできることを前提にするためである。データベースの要素が全てグローバル変数だと考えると分かりやすいか。