web-dev-qa-db-ja.com

分割方法ASP Code-First Entity Frameworkを使用したMVCプロジェクト

学術的な演習のために、私たちは小さなウェブサイトを作成する任務を負っています。私たちはすでに要件を収集し、ビジネスドメインを具体化して、サポートすることになっているクラスを確認しました。これはMicrosoftスタック上にあるため、ASP MVCcode first Entity Framework。私は現在、プロジェクトに最も取り組むために6人のチームを分割する最良の方法を探しています。

TLDR:複数の開発者が同時に作業できるように、ASP MVCプロジェクトを分割する効果的な方法は何ですか?

プロジェクトが階層間で分割されている場所、つまりデータベース、ビジネス、ビューなどを調査しましたが、指示する方法が正確にわかりません。コントローラーがないビューの設計に取り掛かります。

それを異なるビジネスモデルに分割することは、まともな戦略を使用していますか?私は、これが異なる美学のためにうまく噛み合わないアプリケーションにつながったことを読みました。

3
Gilbrilthor

私たちの小さなチームが問題に取り組む方法は、ドメインレイヤーとデータベースロジックを共同で開発し、次にエリアごとに作業を分割することでした。そこで、別の人がコアCRUDページで作業しながら、設定に取り組みました。それが終わったら、別のエリアを選んで、また行きます。このアプローチにはいくつかの問題があります。

  • 私たちの最初の開発作業は、まったく同じようには見えなかった見解を生み出しました。戻ってビューをやり直す必要がありました。これは、事前に仕様と設計作業を徹底的に行うことで回避できます(現在これを行っており、状況は大幅に改善されています)。
  • 私たちは両方とも同じことを独立して行うためのライブラリメソッドを開発し、重複を削除するためにリファクタリングが必要でした(これは簡単な場合もありましたが、まったく異なる方法で記述したため難しい場合がありました)。

もう一度時間があったら、次のようにします。

  • ビジネスロジックを一緒に記述し、URLエンドポイント(コントローラーとアクションおよびそれらの引数)を決定します。個別のビジネスエンティティとMVCモデルを使用している場合は、MVCモデルも設計します。
  • これで、1人がMVCモデルと決定されたURLに基​​づいてビューを記述し、もう1人が必要なコントローラー/アクションを記述できるようになります。

これは完璧ではありません(コントローラーが作成されるまでビューを実際にテストすることはできません)が、相互作用が最小限に抑えられるため、より多くの作業をより速く実行できます。

別のオプション(真のMVCではありませんが)は、アプリケーションを単一ページのアプリケーションとして記述し、1つのグループにREST APIの背後にすべてを記述させ、別のグループにJavaScriptを前面に記述させることです。 -終わり。

2
Jack Scott