質問

どちらを選択するか(MVCまたはMVP)を尋ねるのではなく、どちらかをWebアプリケーションに使用するかどうかを尋ねていることに注意してください。

古いアプリケーションを現在のデザインからMVCまたはMVPパターンに変換するのは大変な作業である可能性があることを認識しています。ただし、新しいアプリの場合はどうですか?これらは最も一般的なアーキテクチャパターンであるように思われるので、これらのいずれかを選択する必要がありますか?そうでない場合、他にどのようなパターンがありますか?

MVCやMVPに精通していない場合、チェックすべき良い質問は" MVPとMVCとは何ですか?違いは何ですか?。さまざまなWebサイトへのリンクを含む、多くの適切な回答があります。それぞれのWebサイトを分類します。

役に立ちましたか?

解決

MVP / MVCはWebアプリケーションでうまく機能します。HTTP動詞とURLの組み合わせは、実行するアクションを決定する非常に良い方法だからです。チームが別のフレームワークで多くの経験を持っている場合など、使用しない理由がありますが、一般的にはMVP / MVCフレームワークをお勧めします。アプリケーションはより高品質でより早く終了します。

他のヒント

どちらも素晴らしいオプションです。

MVCはより広く採用されており、フロントエンド(HTML / CSS)開発者にとって理解しやすく使いやすいため、MVCに行きます。

また、MVCパターンを採用しているフレームワークの数を考えると、チャンチはMVCで同僚と話しているので、よく知っている言語を話します。

別の質問に対して次の回答を投稿しましたが、こちらがより適切かもしれません

MVC は、プレーンサーバー側のスクリプトに適しています。 MVCでは、開発者は常にコントローラーを非常に無駄のないものにしようとします。主にコントローラーは、適切なモデルを選択してビューに反映するためのものです。しかし、今日のWebアプリケーションでは、View部分が根本的に変更され、大きくて太くて厄介なコントローラーを作成するのに十分なほど複雑になりました。そのため、ユーザーインターフェイスの複雑な制御ロジックを配置する新しい場所が必要になりました。ここでは、 MVP P がプレゼンターです。そのため、プレゼンターは特定のユーザーインターフェイスコンポーネントのロジックを制御する責任があります。 Application Controller という名前のコントローラーがまだここにあることを心配しないでください。最終的に、比較的大きなアプリケーションコンポーネント間の切り替えを担当します。したがって、 MVP MVPC(!!)と言うこともできます。ところで、これはMVPを理解する私の方法であり、明らかに基本ルールではありません。

だから、私はすでに複雑なWebアプリの MVP になりがちです。

あなたの質問は、「これらのデザインパターンのいずれかを使用すべきか」です。

プロジェクトの範囲に本当に依存していると言わざるを得ません。予算の大きい大規模な組織内の他のシステムと相互依存関係がある非常に大規模なプロジェクトでは、それらは間違いなく検討する価値があると思います。

これらのパターンは、不必要な複雑さとコストを追加する可能性のある小規模プロジェクトで頻繁に使いすぎになると思います。

疎結合の主なポイントは、後でDBまたはUIを変更したり、ビジネスロジックを再利用したりできるようにすることです。多くの場合、これは決して起こりません。これらのパターンのいずれかは、コードの実装と複雑化にかなり時間がかかることを理解する必要があります。ですから、これを本当に考えて、あなたの選択肢を検討することを強くお勧めします。多くの場合、仕事を完了して複雑さを軽減する非常にシンプルなアーキテクチャを使用することで、より優れたソリューションをより迅速に提供できます!

使用しているフレームワークによって異なります。サポートされているものを使用してください。 私が見たほとんどのWebフレームワークは、フロントコントローラーパターンを使用し、MVCまたはMVPと呼びます。

すべきだと思う。特にMSの世界では、Webフォームをプッシュし、Webアプリケーションの構築をより簡単にするためにあらゆることを行ったため、実装が困難です。
それらを使用すると、プログラミングが簡単になり、多くの作業を行ったように感じます。ただし、サイトが大きくなった後は、メンテナンスが遅くなり難しくなります。
MVCとMVPを使用すると、モデル(操作しているドメインを表す基本クラス)、コントローラー、ビューを分離できます。それに関する最大の利点は、モバイルアプリケーションやWindowsアプリなどの他のアプリケーションでモデルを再利用できることです。そうすると、データベースよりも多くの共通点があるため、コードを書く必要が少なくなります。コントローラーとビューを作成するだけです。
私はこれは初めてですが、ある場所で何かを変更しなければならないときに他の場所で何かがクラッシュしたため、メリットがあります(したがって、疎結合を考慮してユニットテストを書く必要があります)。 Webフォームではテストを書くことはできません。

ただし、Web上にビジネスロジックがない人や会社を表すアプリケーションを構築していて、それを迅速に行う必要がある場合は、Webフォームが適しています。また、プロトタイプを構築するために、完了時にどのアプリケーションが実行できるかを示すことができます。

私は両方のパターンが好きです。私のベストプラクティスは、パターンを選択することです。これは常にパターンなしよりも優れています。

両方のパターンで多くのアプリケーションを開発しましたが、私の個人的な感じは、あなたがRAD開発者であり、CSS&があまり得意でないときです。 javascript(ほとんどの場合、webappを作成したい開発者が違反なし;-))MVPパターンを使用する必要があります。これはWebアプリケーションプロジェクトで非常に使いやすいからです。

ただし、CSSとJavaScriptを使用する場合は、ASP.NET MVCパターンを検討する必要があります。

疎結合であるという理由だけで、MVCパターンを好むでしょう。モデル、ビュー、コントローラーの間には明確な分離があり、分離を通じて、テスト駆動開発または単体テストに適しています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top