|
||||||||||||||||
| 前のページ 1 2 3 | ||||||||||||||||
| Railsのバリデーション | ||||||||||||||||
|
JSFのように、ビューに記述する形のバリデーションは、Railsにはありません。その代わりに、モデルにバリデーションを記述することができます。この場合、データベースに格納する直前に値の正当性をチェックしています。 Railsのバリデーション
class User < ActiveRecord::Base
|
||||||||||||||||
| バリデーションに比較結果 | ||||||||||||||||
|
バリデーションがビューにあるべきかモデルにあるべきかについては、それぞれ好みがあり賛否が分かれるところではありますが、Railsでは、データベースに格納する直前で正当性の確認をすることで、データの不整合を確実に防ぐという狙いがあります。 しかし、データベースに格納しない入力値をチェックすることができません(プラグインを使用することで、ビューでの入力チェックを実施することは可能です)。 |
||||||||||||||||
| まとめ | ||||||||||||||||
|
両フレームワークについて、記述量に着目した場合、Railsの方が多くの比較項目で記述量が少ないという結果になりました。 たしかに、記述量のみで比較してみるとRailsに分があることは間違いありませんが、差がついた主な要因は、ゲッターとセッターそして設定ファイルです。ゲッターとセッターはEclipseなどのIDEが自動的に補完してくれますし、設定ファイルについても開発ツールを使えばグラフィカルに編集でき、画面遷移などの情報を一目で把握することもできるというメリットも忘れてはいけません。 次に、アーキテクチャという観点で考えると、JSFはレイヤを明確に分割している分、各レイヤで採用するフレームワークの幅が広がり、レガシーの資産を有効に活用できます。また、一部のレイヤだけを新しいフレームワークに切り替えることが容易にできるなど、拡張性が高く、柔軟な構造になっています。逆にRailsはレイヤを分割しないことによって、シンプルなアーキテクチャと、高い生産性を実現できる構造になっています。 拡張性、柔軟性を重視しているJSF、シンプルなアーキテクチャで、開発ツールに頼らずとも高い生産性を発揮するRailsとなっていることがわかります。 次回は、DIコンテナとRailsの比較を行います。 |
||||||||||||||||
|
前のページ 1 2 3 |
||||||||||||||||
|
|
||||||||||||||||
|
|
||||||||||||||||
|
||||||||||||||||
|
|
||||||||||||||||
|
||||||||||||||||
|
|
||||||||||||||||
|
||||||||||||||||
|
|
||||||||||||||||
|
||||||||||||||||

