5

この質問は、テクノロジーに依存しないことを意図しています。純粋な MVC とイベント駆動型のコンポーネント指向のどちらの Web フレームワークが好きですか?

「テクノロジーにとらわれない」という点を強調するために、ここでは、さまざまなテクノロジー/言語で、MVC とコンポーネントの Web フレームワークをいくつか挙げます。

  • Struts vs. Java Server Faces / Tapestry
  • 新しい ASP.NET MVCと「従来の」ASP.NETの比較
  • Cake PHPPRADO
4

6 に答える 6

5

私は毎日PHP開発者です。ただし、私は Wicket や Lift を強く好みます。特に後者が好きです。Prado の問題は、ページ上の論理コントロールではなく、コントローラーがページに関連付けられていることのようです。それ以外の場合は、PHP ランドの他のほとんどのオプションよりも優れているようです。すべては再利用性に帰着すると思います。コントローラーに支えられたコンポーネントがない限り、ディスプレイをバッキング コントロール ロジックからうまく分離することはできません。

これらすべての「MVC」フレームワークによって実装されている MVC はひどいようです。大量のコントロールを備えた論理ページを取得し、ページコントローラーでそれらすべてを処理する必要があります。うわー、ありがとう、今私は MVC / n を持っています。ここで n はコントロールの数。私がこれまで見てきたほとんどの「MVC」システムは、脳死状態のタグ ライブラリの寄せ集めであり、ページ上のすべてを認識しなければならない単一のコントローラーにリクエスト応答をゆがめています。

js を含む xhtml テンプレートと css が見事に分離されています。これらのコンポーネントをサポートするいくつかのクラスに加えて、突然、複雑なページがどのように機能するのか、またはピース x を別の場所にドロップしたいかどうかを考えるのに忙しくなくなります。

于 2009-02-27T00:27:14.007 に答える
2

現在、「新しいホットネス」の傾向は MVC アプローチに向かっています。個人的には、MVC フレームワークの慣例の方が好きです。貴重な開発時間を費やすスカット作業の多くが不要になるからです。そうは言っても、制約はかなり厳格になる傾向があり、特定の状況では、より従来のコンポーネントベースのアプローチが必要になる場合があります。全体として、それは仕事の種類の選択に適したツールです.

于 2008-09-19T06:15:41.137 に答える
2

使用されるテクノロジーは通常、選択の問題ではなく、特に大企業では多くの選択肢がありません。

テクノロジを選択できるとしたら、Java では Wicket を選択します。私は Spring MVC を使用しており、これは優れていますが、Wicket には Spring MVC にはない優れた機能があります。サーバー側の状態管理とカプセル化、豊富なコンポーネント モデル、不要な XML マッピング ファイルはなく、純粋な Java と HTML のみです。

于 2008-09-19T06:29:53.460 に答える
1

私は主に ASP.Net 開発者ですが、MVC は、表示に使用されるマークアップからビジネス ロジックとルールをより適切に分離できるため、機能的に複雑な Web サイト (通常は基幹業務タイプのサイト) を作成するためのより良い方法であることがわかりました。エンドユーザーへのデータ。クイックでダーティなサイト (通常はデータベースへの直接接続) またはより豊富なインターフェイスの場合、「イベント駆動型のコンポーネント指向」モデルがより効果的です。

于 2008-09-19T07:25:27.850 に答える
1

個人的には、MVC は Web サイトに最適な方法だと思います。HTML と CSS をより細かく制御できると同時に、コントローラー パターンは HTTP で非常にうまく機能します。イベント駆動型 Web プログラミングは、小さなサイトや、HTML や CSS などの低レベルの概念にあまり詳しくない人に最適です。

于 2008-09-19T10:10:05.303 に答える
0

私は大まかに次のガイドラインに従います。

  • Web フォーム/SQLDataSource - レポートなどのデータを表示するための内部使用向けのクイックでダーティなアプリ。
  • MVC - コア製品のシンプルから複雑なビジネス ロジック。
  • MVC/REST Web サービス/jQuery- HTML/あらゆるタイプのクライアント RIA (ユーザー エクスペリエンスが最も重要な場合)。
  • Flash/Flex RIA - 非常にリッチなクライアントが必要な場合に便利です (ここではマルチメディア操作を考えてください)。

もちろん、このリストには多くのギャップがありますが、それは質問がいかに複雑であるかを表しています.

于 2008-09-19T06:28:51.183 に答える