2012-04-09 14 views
0

現在、ASP.NET MVC 3プロジェクトで作業していますが、VS2010でソリューションファイルを設定しています。ASP.NET MVC 3プロジェクトのVisual Studio 2010ソリューションを設定するための標準的なアプローチは何ですか

標準的なアプローチは何か分かりません。

  • Company.Dept.Business(ビジネスロジック)
  • Company.Dept.Web(ASPが含まれています - 私はCompany.Dept.Data(データモデルDBMLファイルを含む)は、次のアプローチに

    1. を使用しています。 NET MVC3 Webアプリケーション)

    最初の2つはクラスライブラリで、最後はMVC3 Webアプリケーションです。 その他のおすすめ?

  • 答えて

    1

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

    Inversion of Controlコンテナを使用して任意の依存性注入を行う場合は、インターフェイス用の「API」プロジェクトと、満たすための具体的なクラス用の「Impl(ementation)」プロジェクトを持つことを検討することもできますインタフェースは契約しています。

    0

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

    私は、ライブラリのように1つのリポジトリにまとめる傾向があります。私は、Company.MailとCompany.SMSを保持する別のリポジトリ 'メッセージング'を持っています(Twilioと対話してテキストメッセージを送信するために) 。私が新しいアプリや新しいサービス(モバイルクライアント用のWCFエンドポイントかもしれません)を使ってブランチすると、メッセージングリポジトリをプルダウンするだけで、ユーザーと通信するためのすべてのクラスライブラリが利用できます。

    アプリケーションは、その後、誰かがサイトを経由して登録、またはモバイルアプリを経由して、Company.Mail.MailServices.SendWelcomeEmailは()まったく同じウェルカムメールを送信し、ありますかどうか、

    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 
        ... 
    

    のようにこの道を探しますコードの重複はありません。

    これはあなたのために働くのか、それとも誰かが知っている人であることを意味します。私はまた、このスキームを100回変更して、自分の開発スタイル/ワークフローで動作するレイアウトを見つけようとしました。あなたが選んだものは何でも好きなものを見つけようとするので、心配したりストレスを感じたりすることはありません。私は時には、私が気に入らないものをコード化して変更するよりも、すべてを「完璧」にしようともっと多くの時間を費やすという罠に陥ります。

    +0

    入力いただきありがとうございます。ありがとうございました! – kalls

    関連する問題