2006/03/06

RailsとStruts-Tilesにおけるレイアウト機能

- Java vs Ruby
- Java プログラマのための Ruby 入門


どうしても比較されるJavaとRuby
俺はRubyのことについてほとんど何も知らないので残念ながら比較することができないっす。
というのもRails本の76ページを見ていて(遅っ、
Railsのレイアウト機能ってJavaのTiles
と比べてどうなんだろうっって話。
今本を読んでちょっと調べてみた段階では、Railsは一つのレイアウトに一つのコンテンツを挿入する感じで、二つ以上のコンテンツは挿入できないんだろうか?

MVCにおけるコントローラーのポジションの違いなのかな。

Tilesは、
StrutsのActionServlet(Front Controllerパターン)から呼ばれる、RequestProcessor(Application ontrollerパターン)の実装であるため、
つまりはフロントコントローラのポジションである。
だからすべてのいくつものビューを操作できる。

Railsにおいては、
フロントコントローラであるルータは以前のエントリのように規約として呼び出すコントローラとビューを決めてしまっている。そしてレイアウトするのはそのルータによって呼び出されたコントローラクラスであって、コントローラクラスはそのアクションに割り当てられているビューしか知らないはず。だから他のビューを知るすべがなく自分に割り当てられているビューしかレイアウトに流し込むことができないんでしょう、というのが今の段階での考え。


あっ、でもRailsにも「ApplicationController」っていうApplication ontrollerパターンなクラスがあるじゃん。
てことはやっぱりできるのかな?
いろんなソース眺めてみよ、手段が見つかればおもしろいかも。

-

以上、JavaとRubyの比較ではなく、Struts(Tiles)とRailsの比較でした。
同じアーキテクチャで設計されている場合、こうやって比較すると理解が深まるかも。

0 件のコメント:

Loading...
Loading...