2006/03/02

Railsにおける「Convention Over Configuration」


03010001.jpg
Originally uploaded by naokiyanai.
今日はちょっと時間があったので写真で紙が挟んであるあたり(「Hello!」のプログラミング)まで読み進めてみました。
プログラミング環境はもちろん以前に構築した「RadRails環境」。
-
巻頭部分にも書いてありましたが、Railsの特徴の一つとして「Convention Over Configuration(設定に勝る規約)」というキーワードがあります。
Seasar2のひがやすをさんもこの記事の中で、今までのJavaフレームワークは、
「Javaプログラムの複雑さをXMLファイルに追い出しただけ」
として、Searsar2はそれとは違って規約を重視して設定ファイルへの記述量を減少させていることを主張している。
-
まさに今までの自分は、
- Strutsのstruts-config.xml
- SpringframeworkのapplicationContext.xml
- HibernateのHibernate.cfg.xmlとXXX.hbm.xml
など、設定ファイルに囲まれてそして何度と無く記述ミスに悩まされてきました。
これらの設定ファイルをカバーする開発環境(やプラグイン)がなかったとも言えます。
この設定ファイルを開発環境(やプラグイン)でカバーするのではなく、フレームワーク自身でカバーしたのがRailsであると思います。

これからも現場ではXXX.xmlに囲まれ悩まされることがしばらくは続くと思いますが、「Convention Over Configuration」は今後開発されるフレームワークの重要な設計思想となるのではないでしょうか。
-
ここまで読み進めた中でもRailsの規約の一部を見ることができました。
「リクエストURL」と「コントローラによって呼び出されるアクション」のマッピングです。
私は最近webサービス、とくにRESTスタイルのwebサービスに興味を持っていました。

RESTアーキテクチャ
http://sourceforge.seesaa.net/article/12053688.html様より、
* 全ての情報はリソース
* リソースは識別子(URI)を持つ
* リソースの状態は時間や条件とともに変化する可能性がある
* リソースの意味は時間や条件が変化しても不変である


URLがアクションをあらわすということは、実装は自然とRESTアーキテクチャに近づいていくのではないかと考えます。ただしリソースの更新や削除に関しては微妙ですが。

-

話はそれてしまいましたが、早くRailsの規約を覚えたい。Railsにとっては、規約を覚えることが開発手法を覚えることに限りなく近いのではないでしょうか。

0 件のコメント:

Loading...
Loading...