12

タイトルが示すように、ASP.NET ソリューションを通常どのように構成しているかを知りたいです。

特にASP.NET WebSiteソリューションに興味がありますが、他のタイプ (WebApplication、MVC) に関する情報も興味深いかもしれません。

具体的な質問:

  • ソリューションに含まれるプロジェクト/アセンブリの種類/数
  • クラス ライブラリ プロジェクトにどのように名前を付けますか
  • あなたが通常持っている名前空間は何ですか
  • プロジェクト/アセンブリごとに複数の名前空間がありますか、それとも厳密な 1:1 の関係がありますか?

ありがとう

4

3 に答える 3

4

私のプロジェクトの1つは次のようになります。

  • Sln
    • Sln.Core
    • Sln.Core.Test
    • Sln.Data
    • Sln.Data.Test
    • Sln.Web
    • Sln.Web.Test

コアは、永続性に踏み込むことなく実行できる限り、ドメインモデルとドメインサービスです。データは永続層です。これは基本的に、FluentNHibernateの定義とCoreで定義されたインターフェイスの具体的な実装を意味します。Webはフロントエンドレイヤーです。

于 2009-04-01T19:55:23.017 に答える
3

私は正義に似た何かをしました。しかし、プロジェクトが少ない(そしてコンパイル時間が速い)

Sln

  • Project.Core
  • Project.Web
  • Project.Test

Project.Coreは次のようになります

  • リポジトリ
  • ドメイン
  • プレゼンター
  • サービス
  • 意見
  • 一般

複数の(3つ以上の)プロジェクトから実際に利益を得ることはありません。テスト可能性は得られず、コンパイル時間ははるかに長くなります。

また、Webサイトプロジェクトを取得するときに最初に行うことは、それをWebアプリケーションに変換することです。しかし、全体として、WebサイトとWebアプリケーションを切り替えてもプロジェクトは変わりません。

于 2009-04-20T22:42:35.853 に答える
1

私は通常、ソリューション名にアプリケーションの名前を使用し (一般的な「ソリューション」プロジェクト タイプを使用)、含まれるプロジェクトに SolutionName.Site、SolutionName.Domain、SolutionName.Persistence などを使用します。すべての参照を処理するのが簡単になるようです。

私は他の人々の答えを見たいと思っています。これは私が見つけた最良の方法ですが、もっと良い方法があるかもしれないという気持ちを揺るがすことはできません.

于 2009-04-01T19:41:43.253 に答える