今日は特にすることもなく、外も寒そうだから家でゴロゴロしてる。
今のプロジェクトは既にあるシステムのメンテナンスなんだけど。
かなりXMLを多用してて、文字コードを変換するちょっと難解な機能がある。
よくよくソースコードを覗いてみるとChain of Responsibilityっていう
デザインパターンを使ってるらしい。
デザインパターンってのはプログラムのアルゴリズムとか考えてく過程で
汎用的にしてったら、ある程度似たようなパターンになるじゃん、ってことで。
それらをまとめたもの。デザインってのは別に絵とか描くわけじゃなくて。
プログラムの設計の事を指します。
プログラミングの世界ではGang of Four、通称GoF(ゴフ)って呼ばれる著名人がいて。
そいつらがまとめた23コのデザインパターンが有名。
重複を省いたり、モジュール間の結合を軽くしようとしたりすると、
23のデザインパターンのうち、テンプレート、ファクトリ、ファサードなんていう
パターンになっていったりする。
別に全部のパターンを抑えておく必要はないけど、考え方として大いに参考になる。
で、Chain of Resposibility。
連鎖的に処理を委譲させてこうっていうデザイン。
なんか連鎖的に処理を委譲なんていうとかっこいいけど、
わかりやすく言うと”たらいまわし”ってこと。
ある人がシステムの仕様が知りたくて質問をしにいった。
最初にメインフレームを運用している部署に行ったら
それはクラサバ運用の部署に聞かなきゃわからいねぇって言われて、
次にクラサバ運用のとこいったら、
それは開発の人に聞かなきゃわからいねぇって言われて、
次にバッチ開発の部署にいったら、
それはオンライン開発の人に聞かなきゃわからないねぇって言われて
・・・・
そんなイメージ。
こんな風に聞かれたらどこどこへ、そんな風に聞かれたらどこどこへ、
っていうことをXMLファイルで定義する。
ほんじゃソースコード見てこうか〜〜〜
上記のような説明で新人君はどこまで理解してくれるだろうか。
月曜日に説明してみようと思う。
ってか再来週のグループ会でSpringフレームワークとHibernateの説明を
みんなにしてくれ〜って上司に言われて。(俺、業務で使ってねぇのによ。。)
フレームワークっていうよりは、AOPとかIoCってのが何をやろうとしてんのか、とか。
O/Rマッピングってのはこんなもんで、今までのJDBCでやってたのと比べると
こんな風に楽だよ〜なんていう話をすりゃいいと思うんだけど。
発表の資料つくらなきゃいけない。今日やろうと思ってたんだけど。
そういえば、俺の自宅マシンはパワーポイント入ってなくて。。
コメント