2009-07-11 6 views
3

インターネット上でのWeb開発のためのMVCライブラリのサンプルとチュートリアルを見ると、Modelクラスのコードで直接HTMLを構築した後、Controllerが表示するViewに送信することが多くあります。これによりコントローラとビューは非常にシンプルでクリーンなものになりますが、間違ったアプローチだと感じています。 IMHO、モデルは、その中に表現ロジックを持たずにデータを取得するだけでよい。コントローラはこのデータをViewに渡す必要があり、Viewにはそのデータを反復処理して最終的なHTMLを生成するコードが含まれます。Model(MVC)から直接HTMLをフェッチするのは良い考えですか?

私の考えは正しいのですか、ここで重要な点をいくつか見逃していますか?

答えて

3

プレゼンテーションロジックは、ビュー(ほとんど)とコントローラの間で共有されます。このモデルは、プレゼンテーションロジックには関係しないはずです。

もしそうであれば、あなたは懸念を分かち合うことはありません。これは本質的にはではありません。のものですが、プレゼンテーションとビジネスロジックが分離されているという利点はありません。そうではありません。良い考えではありません。

これは、モデルに到達するプレゼンテーションロジックの要素があると言われています。 cmsを考えてください。理想的には、すべてのデータをマークアップして、それを配信するためにテンプレートを適用するxmlとしましょう。しかし、データとテンプレートはモデルに保存されています。プレゼンテーションとは何ですか?ここではビジネスは何ですか?

グレーの領域がありますが、ほとんどの場合、プレゼンテーションとビジネスロジックを分離するのは簡単です。

2

あなたの考えは間違いありません。懸念を明確に分離したい場合は、ViewにモデルからHTMLを生成させることをお勧めします。場合によっては、HTMLヘルパーを使用することができます。

1

モデル(MVC)から直接HTMLをフェッチするのはいい考えですか?

私の腸の本能はいいえと言います。懸念の分離の概念を破る。

関連する問題