我们有一个框架定义了许多接口和一些基本的默认实现。我们称之为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