2

ここ数週間、私は MVC 4.0 を調査しており、Web フォームから MVC に切り替えるかどうかを検討しています。

私の現在の実稼働環境は次のとおりです。1) 1 つのマスター データベースと、それと通信する 3 つの個別の asp.net Web フォーム アプリケーション (スケジューラ、販売レポート、中央管理) 2) このマスター データベースには適切な外部キーが含まれておらず、現在のアプリケーションの多くのストアド プロシージャ、構造はおそらくいくつかの再設計を使用する可能性がありますが、それは私がいくつかのレガシー システムとコードで継承したものです。

改善された販売レポート アプリケーションのプロトタイプを作成し始めたとき、Visual Studio の移行ツールを使用してデータベースを継続的に変更しなければならないという問題に直面し始めました。テーブル間の関係が正しく確立されていないことがわかったので、エンティティ フレームワークを使用するのはより困難でした。

私は決して MVC の専門家でもエンティティ フレームワークの専門家でもありませんが、現在の状況で MVC に飛び込む必要があるかどうか疑問に思うようになりました。おそらく私が最も恐れているのは、コントローラーとビューの適切なモデルを有効にするために、テスト環境で行わなければならなかったデータベースの変更の量です。私がこれらの変更を行ったので、他の 3 つの Web フォーム アプリケーションを適切に再テストする必要があると感じていますが、そのためのリソースはありません。マスター データベースや Web フォーム アプリはクライアント向けであるため、問題が発生することは許されません。

私は MVC の学習曲線を気にしません。非常に興味深いと思います。私のマネージャーは、私が何を使用するかは気にしません。また、私が asp.net の拡張機能を学習することに反対しません。タイムラインはあると思いますが、具体的ではありません。

私は、この同様のシナリオに直面した可能性のある他の人に手を差し伸べているだけです. 私の懸念は有効ですか?別の Web フォーム アプリケーションに固執するべきですか、それとも MVC の世界に進むべきですか?

4

1 に答える 1

3

アプリケーションのレイヤーがどの程度分離されているかによって異なります。すべてのデータ アクセスを処理し、ドメイン オブジェクトをやり取りするだけの堅牢なサービス レイヤーがある場合、MVC への変換は実際にはそれほど悪くありません。標準の ADO.Net バックエンドに MVC フロントエンドを配置することは非常に現実的です。

データベースの構造に基づいて、すべての適切な制約が設定されていない限り、EF を使用しようとするのは困難です。データベースが適切にセットアップされていない限り、EF は機能しません。

MVC に移行する場合は、段階的に移行することをお勧めします。

  1. UI レイヤーがサービス レイヤーから分離されていない場合は分離します。
  2. UI レイヤーを MVC に変換します。
  3. UI に満足したら、データベースの変更を開始し、データ アクセス レイヤーを EF に変換できます。

UI を MVC に変換している間に、モデルを作成してデータベース テーブルを複製し、直接引き戻すのではなく、モデルを UI に渡すだけです。そうすれば、EF に変換するときに、適切なモデルが既に配置されており、UI レイヤーは変更の影響を受けません。

于 2013-05-14T05:02:44.383 に答える