0

現在、ASP.NET MVC 3プロジェクトに取り組んでおり、VS2010でソリューションファイルを設定しています。

標準的なアプローチが何であるかわかりません。私は次のアプローチを使用しています

  1. Company.Dept.Data(dbmlファイルを含む-データモデル)
  2. Company.Dept.Business(ビジネスロジック)
  3. Company.Dept.Web(ASP.NET MVC3 Webアプリケーションを含む)

最初の2つはクラスライブラリで、最後の1つはMVC3Webアプリケーションです。他の推奨事項はありますか?

4

2 に答える 2

1

単一の「標準」アプローチはありません。それはすべてあなたのプロジェクトとあなたがソフトウェアで解決しようとしている問題に依存します。2つのクラスライブラリと1つのWebプロジェクトを持つという提案された構造は、確実に進むための1つの方法です。

制御の反転コンテナを使用してあらゆる種類の依存性注入を行う場合は、インターフェイス用の「API」プロジェクトと、インターフェイスコントラクトを満たす具象クラス用の「Impl(ementation)」プロジェクトを検討することもできます。

于 2012-04-09T20:11:50.233 に答える
0

danludwigをエコーするために、実際には標準はありません。私は、機能に応じてライブラリと名前空間を分割することを好みます。Company.Dbはデータベースと対話するための私のライブラリであり、Company.Mailは消印メールサービスなどのラッパーです。

次に、同様のライブラリを単一のリポジトリにグループ化する傾向があります。したがって、ソース管理の「ストレージ」リポジトリには、Company.Db、Company.Caching、Company.FileStorageなどが含まれます。Company.MailとCompany.SMS(テキストメッセージを送信するためにTwilioと対話するため)を保持する別のリポジトリ「メッセージング」があります。 。新しいアプリや新しいサービス(モバイルクライアント用のWCFエンドポイントなど)を使用して分岐する場合は、「メッセージング」リポジトリをプルダウンするだけで、ユーザーと通信するためのすべてのクラスライブラリがあります。

アプリケーションは次のようになります

Company.Application.Webite 
     \Libraries\Messaging
          \Libraries\Messaging\Company.Mail
     \Libraries\Storage
          \Libraries\Messaging\Company.Db
          \Libraries\Messaging\Company.Caching
     \Libraries\Web
     ...
Company.Application.Wcf
     \Libraries\Messaging
     \Libraries\Storage
          \Libraries\Messaging\Company.Db
          \Libraries\Messaging\Company.Caching
     ...

このように、誰かがサイト経由で登録するか、モバイルアプリ経由で登録するかにかかわらず、Company.Mail.MailServices.SendWelcomeEmail()はまったく同じウェルカムメールを送信し、コードの重複はありません。

これがあなたのために働くかどうか、あるいは理にかなっているのかどうか、誰が知っていますか。また、このスキームを100回変更して、自分の開発スタイル/ワークフローで機能するレイアウトを見つけようとしました。何を選んでも、好きなものを見つけたり、嫌いなものを見つけたりするので、あまり心配したり、ストレスを感じたりすることはありません。好きではないものをコーディングして変更するだけでなく、すべてを「完璧」にするために多くの時間を費やすという罠に陥ることがあります。

于 2012-04-09T20:25:26.107 に答える