我們有一個框架定義了許多接口和一些基本的默認實現。我們稱之爲CompanyFramework。我有一些ASP.NET MVC擴展,目前存儲在一個單獨的項目CompanyFramework.Web.Mvc中。原因是,使用核心框架但與MVC無關的應用程序無需引用ASP.NET MVC庫。我不太喜歡這種設置,因爲額外的程序集只包含3-4個類文件,但它是避免向主框架程序集引入不必要的依賴關係的最簡單方法。.NET項目/命名空間組織問題
現在,我們有一些用於ASP.NET MVC的特定於StructureMap的擴展,即自定義控制器工廠和模型綁定器類型的東西。你會把這樣的東西放在哪裏?我可以把它放在CompanyFramework.Web.Mvc項目中,但是任何使用它的ASP.NET MVC項目都會引用StructureMap程序集,即使它沒有被使用。我也可以創建一個單獨的CompanyFramework.StructureMap項目,但如果我曾經開發任何不依賴於ASP.NET MVC的StructureMap的擴展,我仍然很喜歡爲使用它們的類引用MVC程序集。
我應該做一個單獨的CompanyFramework.Web.Mvc.StructureMap項目嗎?這種方法總體上看起來最乾淨,但我覺得我正在開始引入一堆混亂整個項目結構的輕量級衛星組件。
如果這是個問題,總是可以使用Solution文件夾來管理IDE混亂。 – CoderDennis 2011-05-13 18:53:27