再利用性
WEB+DB PRESSで
J2EEプログラムの再利用は本当に可能か?
ということなんで、興味津々に読む。
取り敢えずDAOは分けようとしているけれども・・気を抜くとビジネスロジックとフレームワークから呼び出される部分(プレゼンテーション層?)がごっちゃになってしまう。。
そういう意味でActionクラスをextendsするのは良いことかも。
なぜDIで再利用なのか
DIは「インタフェースと実装の分離を促進する」「実装を隠蔽する」
やっぱり私のやつはDIじゃーないなぁ。
インターフェース書いてないし。
メンバ変数で次々にコンポーネントを自動代入していくのは楽だけど、がんじがらめになったりしそうでちょっと嫌な予感が。
気楽に呼び出せるから色々なコンポーネントから色々なコンポーネントを呼んでしまう。
星形に絡み合ってていつか動けなくなったりして。
で、複数のコンポーネントでひとつのコンポーネントを作ったらいいのか。
そういうの気付かなかった。
DIContainerが依存関係を解消、ってなってるけど本当に実感できるのはまだまだ先だろうなぁ。
そんで今、将来的に統合されるかもしれない2つのサービスを作り始めてる。
ビジネスプロセスは違うけどビジネスロジックは同じ、っていう感じの。
そんで「これは再利用性を意識したプログラムを作って検証できるチャンス!」となるわけです。
普通なら、それこそこの本にあるように「再利用を意識したけど・・本当のところどうなんだろう」でもやもやしたまま終わったりするわけです(私の場合
でも後から利用することを考えて今しか使われないものを作るのはやっぱり難しい。
勘という名の経験、書籍には書ききれない細かな気遣いが重要ですなぁ。