トップ «前の日記(2004-05-16) 最新 次の日記(2004-05-18)» 編集

日々の破片

著作一覧

2004-05-17

_ ASPの書き方

ASPだけだったら、PerlScript、JScript、VBScriptなどいろいろあるから状況はわからないということにしてから始めてみます。

状況がわからなければ、VBScriptが一般的だし、Classステートメントがあるからそれだとします。

すると、

1. ClassのサポートはVBScriptの場合Version5から。

こんな枯れていないステートメントは危険。

で終了。

もうちょっとまじめに書くと、VBScriptのバージョン情報からわかる通り、VBScriptバージョン5は、IE5以降のテクノロジーで、開発環境としてはVS6より後になります。

逆に言えばASPのノウハウは、VS6(つまりVBScriptバージョン4)で一応完結していて、その後はVS.NETとなるためASP自体が過去の亡霊扱い、したがって新たなノウハウの追及対象ではない、したがってClassの例は特に無い、ということだと思います。多分、TechNetなどを細かく見れば情報がゼロということは考えられませんが、いずれにしろメインストリームが.NETに移行した後の開発インフラのバージョンアップなのでそれほどネタにならないのでしょう。

とは言え、Windows2000ではサポートされているので、使えばよいのかも知れませんが、実際にはそれほど使い道があるかは疑問です。

というのも、ASPでの必勝パターンは、複雑なビジネスロジックはCOMのコンポーネントにして(VB6、VC6あたりを使用)、MTS(あるいはCOM+)上に配備し、ASPでは入力を検証してコンポーネントのメソッドを呼び出し、結果を出力(JSPモデル2でいくと、コントローラとビューを一緒にしたものと考えればそれほど外れではないかな)という感じなので、別段ClassをASPで作る必要は無いんじゃないかなぁ、という感じじゃないでしょうか。

一方、単にDBの内容を出力するだけなら(J2EEのファストレーンリーダパターンに相当)ADOをそのまま使うのが必勝パターンだからその場合も特にClassを利用しなくても、入力検証してADOを呼び出して、RowSet(だったかどうか忘れた)を回しながら出力するだけで済むし。

とか書いているけど、あれば使えるんだよなぁ、と思うのも事実。というわけで最初に戻って、6年前にClassが存在したらおそらく使われていたかも知れないが、開発環境の6と.NETの狭間に出てきてしかもインストールベースはともかくMSが売りたいメインストリーム技術ではなくなってしまったので放置ということではないでしょうか。

_ わけわからんが

なんかいっぱいある

本日のツッコミ(全6件) [ツッコミを入れる]
_ むらまさ (2004-05-17 09:59)

私のここ1〜2年でのASPの仕事では、HTMLを出力する際のテンプレートを扱うクラスとかを作ったりしてます(わざわざCOMにする程でもないというのもあったりなかったり)。クラスである意義というのがあるかは疑問ですが。

_ arton (2004-05-17 10:44)

おお、なるほど。やはり使う方は使っているのですね。

_ WR (2004-05-17 12:26)

VBScriptクラスでBCE!とかやっていた私は負け犬かなぁ・・・<br>#今にして思えば、パフォーマンス的にシビアでなかったので、個人的趣味に走ってしまったかな?なんて。

_ arton (2004-05-17 13:18)

そういうのは負け犬ではなく、超人と呼ぶのでは……<br>VBScriptでBCEって、実行時までコンパイルエラーレベルの書き間違えとかさえ発見できないからかえって面倒じゃありませんか? (VBScriptUnitとか実はあったりして)<br>あと、Eをどう実装したのかは興味深々。

_ WR (2004-05-17 15:43)

ご明察。ASPunit(http://sourceforge.jp/projects/aspunit/)使いました。<br>Eは、イマイチな実装でした。<br>DAOパターンをしらなかったので、ActiveRecordっぽく実装しました。<br>#いちいちDBにアクセスするので、ユニットテストが超面倒だった・・・(←ダサい)<br>#愚直に「書籍:ユースケース入門」のとおりモデリングしたんです。

_ arton (2004-05-17 22:13)

なるほど、ちゃんとxUnitがあるんだ。とすれば、分散トランザクションをやる必要がなければ(ADOだけで済むのであれば)VBScriptでBCEというのも良いですね(ASRなんてのを作っていることからおわかりの通り、ActiveScriptingそのものを僕は非常に好き)。<br>#とは言え、今更感が漂うのも事実だけど。


2003|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|04|05|06|07|08|09|10|11|

ジェズイットを見習え