2008-09-12 11 views
3

企業のIT環境から来た標準では、各レイヤー、ビジネスロジック、データアクセス、時には特定のタイプの分離のためのクラスライブラリプロジェクトが常に作成されていました。分離されたASP.NET Webアプリケーションに複数のアセンブリを使用する必要がありますか?

私は自分のWebアプリケーションプロジェクトに取り組んでいるので、私のコードをこのように分離する必要は本当にありません。

私はこのロジックを共有したり、サービスを有効にする必要がある複数のアプリケーションを持っていません。私はまた、展開のシナリオに利点はありません。

私はすべての成果物を論理的にプロジェクトフォルダで区切られた1つのWebアプリケーションに入れることに傾いています。

私はその考えがコミュニティのものであることを知りたかったのです。


私はMVCプレビュー5を使用して、このアプリケーションを書いていますので、ユニットテストピースは、関心事の分離によってサポートされます

...私はより多くの情報を追加してみましょう枠組みの中で継承されます。私はすべてのテストをしたい!

答えて

1

最も簡単なことから始めて、必要に応じて複雑性を追加してください。 1つのアセンブリがあなたのケースでうまく動作するかのように聞こえます。ただし、レイヤAがレイヤBの内部メンバにアクセスするようにすると、レイヤを違反しないように注意してください。後で別のアセンブリにレイヤを引き込むのが難しくなります。

0

私は、あなたがテストとユニットテストについてどれほど深刻であるかにかかっています。

ユーザー/マニュアルテストのみを行う場合、または基本的にUIからテストする場合は、実際には違いはありません。

一方、単体テストやビジネスルールの検証を行う予定がある場合は、作業を異なるアセンブリに分割することは間違いありません。

小さな個人用プロジェクトであっても、このアプローチは、プロジェクトが進むにつれて私の人生を楽にしてくれます。 UIのWebプロジェクト、ビジネスルール/アプリケーションロジックのライブラリ、DALの別のライブラリだけで、同じソリューションからすべてを実行します。

0

論理的なレイヤーを適切なプロジェクトに分割する必要があります。

これは、開発者が1人であろうと100人であろうと、優れたエンジニアリングプラクティスです。コードについての否定は、リファクタリングや拡張用のコードの複製を行うということです。

+0

リファクタリングや拡張に基づいてコードを分割する必要がある場所の例を挙げることができますか? –

関連する問題