3

私の同僚は、単体テストをできるだけ簡単にするためにコントローラーを別のプロジェクトに分けるようにと言いました。 また、単体テストを行うときにアプリケーション全体をロードしないように、コントローラー プロジェクトとテスト プロジェクトのソリューションを作成するように言われました。新しいプロジェクトでコントローラーを分離するのは良い方法ですか?

4

4 に答える 4

0

私の見解では、コントローラーを別のプロジェクトに移動させるには、考慮すべきことが 2 つあります。そうすると、低結合の問題を解決する方法を考える必要があり、正確に低結合のクラスをより簡単にテストできます。密結合クラスよりも。

一方、コントローラーは通常、ビューについて知っているため、コントローラーをビューではなく同じプロジェクトに配置することは、一種の論理的です。

再利用性を考えると、コントローラーは多くの場合「接着剤」コンポーネントであるため、ここで議論の余地があるかもしれません。これは、コントローラーに多くの配線があることを意味します。

于 2012-04-24T03:31:25.317 に答える
0

この質問に対する単純な「はい」または「いいえ」の答えがあるかどうかはわかりません。単体テストに影響を与えるには、プロジェクトが非常に大きくなければならないと思います。私の個人的な意見は、ビューとビュー モデルと共にコントローラーを Web プロジェクトに残すことです。ただし、私はモデルを別のプロジェクトに移動することを好みます。そうする理由は、単体テストを容易にするためではなく、他のアプリケーションでデータ アクセス (モデル) を再利用するためです。

于 2012-04-24T03:24:06.627 に答える
0

私の意見では、コントローラーはビュー プロジェクト (通常は私にとっては Web プロジェクト) から少なくとも常に分離する必要があります。たとえば、Windows フォーム プロジェクト)。名前空間も少しきれいに保たれます。

于 2012-04-24T03:28:33.923 に答える
0

これは、最初は良いアイデアのように思えます。中間にプレゼンテーション レイヤーを作成し、MVC プロジェクトにビューのみを含めたままにして、真の UI プロジェクトにします。一方で、ビューのツール サポートが失われる可能性があります。すべての警告を無視する必要があるため、すべてのビューがそこにあり、オブジェクトに強く型付けされていることを確認する必要があります。

とにかくMVC名前空間を持ち込む可能性があるため、テストスイートでMVCプロジェクトを参照することに対する懸念がわかりません。

于 2012-04-24T03:30:40.503 に答える