今日はRuby on RailsとHibernateを触りながら、PoEAAのActive RecordとData Mapperのところを読み返して色々考えてみた。その中での思いつきなのだけれど、インスタンスのライフサイクルというのは横断的関心として捉えることもできそうだよね。
インスタンスが具体的にどこから来てどこへ行くのかっていうのはビジネスロジックと直結はしない場合が多いから、だからその辺を抽象化してフレームワークに追い出したり、ActiveRecordで透過的にしたりするわけだけれど。モデルと直接関係ないなら本当に横断的関心事として追い出してしまって世域がする。Curlでインスタンスの生成サイクルにユーザーが介入できる仕組みがあったと思うけれど、ああいうのを使ったり、RubyでClass#newをオーバーライドしてしまったり。
うーん。まだ思いつきレベルだ。