今後、「
Open棟梁プロジェクトの起源について。」として、毎日、合計4回の連載を行っていこうと思います。興味のある方は、是非ともご一読下さい。
Open棟梁プロジェクトの起源は、2005年ぐらいに開発が行われた某システムの開発で構築されたフレームワークの社内 横展開が起源となっています。当時のフレームワーク構造は現在も踏襲しており、具体的に言うと以下のスライドの 「
ベースクラス1・ベースクラス2・サブクラス」の3層構成の「
ベースクラス2」部分がなく、「
ベースクラス & サブクラス」という2層構成の形で構成されていました。
これが、「
制御の反転」を取り入れた、良く出来た仕組みであっため、社内 横展開の検討を開始しました。その際、プロジェクト独自の実装基準を取り払い、汎用化を行いました。その内容は以下のような内容です。
- 共通化レイヤ(ベースクラス2)を追加する。
- サブクラスの個別実装はレイドバインド方式に変更する。
- 共有処理はオーバーライド方式をそのまま利用する。
当該システムは、移行元のホストの画面デザインを踏襲しており、業務のボタンが全てファンクション・キーにマップされていたため、Presentation層の処理実装もファンクション・キーのイベント・ハンドラに相当するメソッドをオーバーライドして実装する方式になっていました。
※ 移行元のホスト画面のイメージ しかし、これでは、今後の社内 横展開にあたって、多種多様なプロジェクトの要件に対応できないことが明らかだったため、オーバーライド方式からレイトバインド方式へ変更することにしてボタン配列を自由にしました。また、対応するコントロール・イベントもボタンのクリック・イベントだけに留めず、拡充させて行きました。そして、Business Logic層のメソッドも、ルート・メソッドから手書きで振り分ける方式から、レイトバインドする方式に変更しました。
これにより、前述のスライドの 「
ベースクラス1・ベースクラス2・サブクラス」の3層構成が誕生しました。
こうして、2007年中頃から社内 横展開を開始しました。また、この頃のサポートされるアーキテクチャは、
ASP.NET Web Formsのみで、提供されている機能はダイアログ表示機能や標準化のためのラッパー・モジュールを除いて、まだ、殆どありませんでした。
次回に続く。