オブジェクト指向原理主義

過去にも愚痴っていましたが、現在携わっているプロジェクトのリーダー(以降、天上人と記す)と全くそりが合いません。
最近、なぜこうも合わないのかの答えの一つに気づきました。天上人はオブジェクト指向原理主義の臭いがします。
ただし、ウェブアプリ開発はまともにしたことのないオブジェクト指向原理主義者です。
今日も、Struts のアクションで遷移先を任意にプログラムから制御したいがために、ActionFoward を Action 内で new して返すという方法を打ち出してきました。いや、ネタじゃなくてマジで。
ActionFoward を new できるからといって、そういう使い方はありえないではないでしょうか?
しかも、そんなことをしなければいけなくなった理由が、Action を継承して、業務的に共通の処理を持つ抽象クラスの作成を禁止しているからなんです。
そうまでして、継承を行ないたくないらしいです・・・orz

継承よりも委譲でとはいいますが、Struts のようなフレームワークを利用した場合、Action のようなクラスに関してはむしろ継承をおこない、業務に応じた抽象クラスを利用した方が良いように経験上、私は感じます。
そのようなクラスがあれば、業務の種類毎に共通な事前処理などが一箇所にあつめられますし、またアクションが実行されるときに、明示的にその処理を呼び出すことなく事前に必要な処理をすましておくこともできるようになります。

ひょっとしたら、もっと良い方法があって継承は使わない方が良いのかも知れませんが、少なくとも、継承を使わないようにするために、最終的に ActionFoward を new するようなことをするよりかはマシではないかと思っています。
Struts の定義ファイル(の良くある書き方)がなぜアクションマッピングフォワード先情報を success や fail のような名前でパス情報と結びつけるようにしているのかを考えれば、 Action 内で ActionFoward にパス情報を渡して new するということがおかしいことに気づくとおもいます。



あー、あと一月ちょっとでようやく脱出です。
このところ、天上人は毎日不機嫌そうです。ものすごい眼光でいつも睨んできます・・・とくに何かしたわけでもないのににらまれています。((((;゜Д゜)))ガクガクブルブル