2011-01-15 3 views
0

私はMVCモデルやアーキテクチャについて本当の理解はしていませんが、私が読んで見ていることは、プレゼンテーションUIと論理コードである「懸念」 ?しかし、WebForms Architectureには、コードとUIを分離するコードビハインドモデルもあります。ASP.NET MVCモデルとそのWebFormについて

MVCには何か別のものがありますか?

+0

答えはMVCについて十分に分かっていませんが、私が見たことから、MVCコードにはコードとマークアップが混在しています。実際、これが私がこれまで避けてきた理由です。だから私はあなたがMVCが2つを分けることを提案するのを見て驚いています。 –

+3

@Jonathan Wood - あなたは懸念(UI、ビジネスロジック、永続性など)の分離とともにコードとマークアップを組み込むというアイデアを混ぜています。) – Oded

+0

@ジョナサンすでに似たような質問がたくさんあります。見てみましょう。 mvcを把握してください - これは実際にこの質問に答える唯一の方法です(自分で)。 –

答えて

1

MVCとWebFormの主な違いは、WebFormsではリクエストを受け取るビュー(/foo.aspx)ですが、MVCではモデルを操作してレンダリングする適切なビューを選択するコントローラ(/controller)です。もう1つの重要な違いは、ASP.NET MVCの抽象クラスとインターフェイスの背後にあるすべてのHTTPコンテキストスタック(要求、応答、セッションなど)が抽象化されていることです。また、マークアップが基本的にサーバー側のコントロールによって生成されるWebFormsとは対照的に、ASP.NET MVCで生成されたマークアップをはるかに制御できます。

1

コードビハインドは、具体的にはWebフォームのビジネスロジックと密接に結びついたUIを作るものです。コードビハインドはUIの一部です。

コードビハインドの代わりにコントローラを使用することは、MVCがこれらの問題を切り離す主要な方法の1つです。

0

これについて考える最も簡単な方法は、.aspxとコードビハインドが、同じコンポーネントであるUIの本質的に2つの異なるビューであることです。 MVCでコードビハインドを使用することは完全に可能です(webformsビューエンジンを使用している場合)。ビューとコードビーンの両方がUIの一部とみなされます。コントローラは、モデルと同様に、別個のエンティティです。

0

コードビハインドしっかりとWebフォームでのビジネスロジック に結合された UIを作るもの、具体的である - コードビハインドUIの一部 です。

あなたがそれを許可する場合のみ。

別個のビジネスレイヤー/ティアを選択し、MVP/MVC/MVVMなどの適切なUIレイヤーパターンを使用することを選択した場合、ビジネスロジックはUIに結合されません。 WebフォームのMVPパターンを使用したnレイヤーデザインでは、asp.net MVCよりも懸念がさらに深刻になる可能性があると主張していますが、より多くの初期設計が必要です。

Asp.Net MVCを使用すると、より良い分離が行われます。それはそれに焼かれた。 これは、これ以上よく分からないかもしれない開発者には向いています。 webformsを使用すると、建築家/開発者は、必要なsepearionのレベルを選択することができます。両刃の剣です。プラットフォームでの経験があれば、素晴らしいことができますが、新しいものや古典的なASPあなたが何らかのガイダンスなしでそれを混乱させるかもしれない開発スタイル。

私はasp.netのMVCを見ていますが、Webフォーム上でのMVC(またはWebフォームでの習得が可能です)では、マークアップ(必要な場合)やWeb中心のフォーカスもう一度、あなたが必要とするものなら)。

関連する問題