フレームワーク

現在作っているマスタメンテ,サイトが増える分作る必要が出てくるので,効率良く作れるように仕込んでおこうと思っています(というか,顧客から要望されています).要はフレームワークということなんですが,さて,どのようにまとめるか?
ちなみにマスタメンテ自体はGridViewとかでさくさく作れる(はず)だし,サイトごと・業務ごとに異なるはずなので,フレームワーク化するのは非機能要件だったり,この日記でよく話題にしている認証・許可制御です.


とりあえず以下の3つを候補として考えました.

  • ライブラリ集として実装する
  • フレームワークとして実装する
  • ウィザード(Template)として実装する

ライブラリ集とした場合,使用方法を限定したい場合にはドキュメントで縛って,かつInvalidOperationExceptionで防御する必要があって,(作る側も使う側も)めんどくさいと思いました.フレームワークは,基本的な想定部分をWeb Siteとして作っておき,業務要件はHotSpotとして後から組み込んでいくようなものを想定しています.当初業務要件をVirtual Directoryで作成して,フレームワークとしてのWeb Siteと業務要件としてのVirtual Directoryを自由に組み合わせられたらおいしいかな?なんて思ってたのですが,技術的に無理(ありえない).ということで,モノリシックに組み込んでいくしかないのかな?なんていろいろ考えていたら,ウィザード(Template)にすることを思いつきました.
基本的な考えはフレームワークと変わらないのですが,こちらのほうが使う側の負担は少なくすみそうだし,ちょっとカッコいいかな?これとコードスニペットを用意して生産性アップですよ!なんて大風呂敷を広げてみようかなと思っています.
ただ気になるのは,そんな感じでフレームワークを作って,もしフレームワークにバグが見つかったらどうしよう?ってことです.修正したものを利用者に提供する際,ウィザードを渡しても利用者は困りますよね(先ほどのWeb Site/Virtual Directory構成なら問題ないのだけど).その場合はパッチリリースかな?それでほとぼりが冷めたころにウィザードのリビジョンアップとか?
まぁ,あとはいろいろやってみて,実践からフィードバックを得るしかないですね.