<< 2006/09/ 1 2 3 1. 葬儀tips
2. emacs で 3タブ
4 1. viewset という考え方
5 6 7 1. Emacs22 の font-lock の色使いが terminal で再現できなくて意味不明
8 1. (たぶん)いちばん短い phpdoc 生成の覚え書き
9 1. iCab 3.0.2 の getElementsByTagName は自分自身を含むらしい
10 1. screen の multiuser mode を1台のマシン上で1人で実験する
11 12 13 14 1. Wiki でゲームブックって作れるな
15 1. xCHM 1.9 ANSI 版がいい感じ
16 1. また Maxtor 逝った
17 18 19 20 21 22 1. るびま16号のインタビューが面白い
23 24 25 26 1. Terminal のフォント放浪 → Monaco + ヒラギノに落ち着く
27 28 1. 画面の広さを取り戻せ
29 1. Finder から一発で Terminal 上の Emacs を起動する
30 >>
トップ «前の日記(2006-09-03) 最新 次の日記(2006-09-07)» 編集

2006-09-04 [長年日記]

_ viewset という考え方

別段新しい考え方でもなんでもない気がするんだけど、思いついたのでメモ。

Rails を引き合いに出すまでもなく MVC という単語だけはずいぶん浸透している。でまぁ、この V に当たる部分をロジックから分離する方法の一つとして*1テンプレートの活用というのがあるわけなんだけど、

このテンプレートって配置に困りませんか?

プログラマが、あるいはアプリのワクが分かっているデザイナがテンプレートを書いているなら困らないかもしれないけれど、そういうことが分からない人がデザインを担当している場合、

テンプレートとそれ以外のパーツが泣き別れになると作業しにくい

と思うわけ。テンプレートはテンプレート用のフォルダに、画像や CSS などのパーツは Web ブラウザから直接見える場所に置いてください、というのはやはり不親切ではないかと。だからと言ってテンプレートをブラウザから見える場所に、具体的にはアプリケーションと同じ階層に置くと今度はお互いに管理しにくいし危ない。

そこでブラウザから見えない場所に viewset の置き場所を作って、そこにまとめて置いてもらうっていうのはどうだろう。具体的には以下のような構成になるんじゃないかと思う。

|-- app      ←  ブラウザがアクセスするところ
`-- viewset  ←  テンプレートおよびデザインパーツ置き場
    |-- VIEWNAME
    |   |-- css
    |   |   |-- base.css
    |   |   `-- flavour.css
    |   |-- img
    |   |   |-- dummy1.img
    |   |   `-- dummy2.img
    |   `-- template.htm とか template.erb とか
    `-- VIEWNAME2

で、アプリの側からは VIEWNAME を指定するだけで、いい具合に CSS や画像も呼び出せるようになるという寸法。デザインリニューアルの際にはこの VIEWNAME を切り替えるだけでガラっと印象を変えることができる。また画像や CSS を直接上書きしなくて済むのでリニューアルというほど大掛かりではないが、定期的にデザインが変わるような場合も更新作業が楽になるのではないかと思う。

ファイルの管理上も都合がよい。デザインする人はデザイン過程と同じ要領でテンプレートも画像も CSS もひと固まりで管理しておけるし、アプリケーションとは別な領域に置いておけるので開発する人もデザインする人もお互いに安心。おまけに VIEWNAME が時系列で並ぶようにすれば簡単な履歴管理にもなる。

どうだろ。

実現方法をなんにも書いてないけど、それはまだ何も考えてないからです。

Tags: Web

*1 メリットはそれだけじゃないけど