2008-08-25 16 views

答えて

4

Model-view-controller(MVC)は、ソフトウェア工学で使用される建築のパターンです。パターンの使用を成功させると、ビジネス・ロジックをユーザー・インターフェースの問題から切り離し、アプリケーションの視覚的外観または基礎となるビジネス・ルールを変更することなく、他のものに影響を与えることなくアプリケーションを作成することができます。 MVCでは、モデルはアプリケーションの情報(データ)とデータを操作するために使用されるビジネスルールを表します。ビューは、テキスト、チェックボックス項目などのユーザインターフェースの要素に対応し、コントローラは、キーストロークやマウスの動きなどのユーザアクションのモデルとの通信を含む詳細を管理する。

したがって、モデル - アプリケーションとビジネスルールを保持します。

4

私はJoshと完全に同意します。しかし、コントローラーとモデルの間に一種のバリデーションレイヤーを作成して、データに到達する前に構文検証の大部分をモデリングできるようにすることができます。

例えば、

検証層は、日付形式、量フォーマット、必須フィールドなどを検証しますが...

だからモデルは純粋にX量などの事業の検証に集中するだろうがより大きくなければなりませんy量。

0

MVCでの私の経験は、これまでのところ完全なレールで構成されています。

Railsはモデルで100%検証済みです。
ほとんどの場合、これは非常にうまく機能します。私は10回のうち9回はあなたが必要とするすべてだと言うでしょう。

しかし、フォームから送信しているものがモデルと適切に一致しない部分があります。いくつかの追加のフィルタリング/並べ替えなどがあるかもしれません。

私が見つけたこれらの状況を解決する最善の方法は、基本的にModelオブジェクトのように動作しますが、フォームデータと1対1を対応付ける模倣モデルオブジェクトを作成することです。これらの擬似モデルオブジェクトは実際には何も保存されません。バリデーションが付加されたデータのバケットに過ぎません。データは、これらに入った(かつ有効である)、それは通常、直接あなたの実際のモデルに渡ってそれを転送するための非常にシンプルステップだ後は
(レールで)そのようなことの例はActiveForm

です。

0

基本的な構文チェックは、モデルのユーザー入力を変換するため、コントロール内にある必要があります。モデルは実際のデータ検証を行う必要があります。

関連する問題