2009年12月29日火曜日

Pageクラス関係のネーミングルール(T2)

スズキです。

今までは1クラス1HTMLしか想定していなかったので、
下記のように、該当HTMLの拡張子を除いたファイル名に"Page"つける形で
問題ありませんでした。

@Page("/other/index.html")
public class IndexPage {

次にJSON形式の"Web API"も想定する必要がでてきて、
結局、ページクラスはこんな感じにしました。

@Page("/other/index.json")
public class IndexJson {

まずURLの拡張子は、出力フォーマットを表すようにしています。
そしてクラス名は、該当URLの拡張子を除いたファイル名に
"拡張子名"つける形にしています。

ちなみに、"index.html"からの非同期通信(Ajax)"は
"index.json"に対して行うってことにしています。
複数の処理が必要な場合は、
"index.json/insert"、"index.json/update"といった感じでアクセスです。
(このあたりのハンドリングはT2ならお手のものです!)

とすると、最初に紹介したHTMLは、こんな感じになるはずです。

@Page("/other/index.html")
public class IndexHtml {

XMLなら、
@Page("/other/index.xml")
public class IndexXml {

CSVなら、
@Page("/other/index.csv")
public class IndexCsv {

...

まあ、また、変更する可能性は高いですが、今はこんなルールに落ち着いています。

--------
http://www.suz-lab.com

0 コメント: