为ASP.NET MVC 3项目设置Visual Studio 2010解决方案的标准方法是什么

时间:2012-04-09 19:33:48

标签: visual-studio-2010 asp.net-mvc-3

我目前正在开发一个ASP.NET MVC 3项目,我正在VS2010上设置解决方案文件。

我不确定标准方法是什么。我使用以下方法

  1. Company.Dept.Data(包含dbml文件 - 数据模型)
  2. Company.Dept.Business(Business logics)
  3. Company.Dept.Web(包含ASP.NET MVC3 webapplication)
  4. 前两个是类库,最后一个是MVC3 Web应用程序。 还有其他建议吗?

2 个答案:

答案 0 :(得分:1)

没有单一的“标准”方法。这一切都取决于您的项目以及您尝试使用该软件解决的问题。您提出的具有2个类库和1个Web项目的结构是一种可行的方法。

如果您要使用Inversion of Control容器进行任何类型的依赖注入,您可能还需要考虑为接口创建一个“API”项目,并为具体类提供“Impl(ementation)”项目。接口合同。

答案 1 :(得分:0)

回应danludwig,确实没有标准。我更喜欢根据功能分解库和命名空间。 Company.Db是我与数据库交互的库,Company.Mail是我对Postmark邮件服务等的包装。

然后,我倾向于将类似库分组到单个存储库中。因此,源代码管理中的“存储”存储库包含Company.Db,Company.Caching,Company.FileStorage等。我有另一个存储库'messaging',它包含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()都会发送完全相同的欢迎电子邮件,并且没有代码重复。

这对你有用,甚至是否有意义,谁知道。我也改变了这个方案一百次,试图找到一个适合我的开发风格/工作流程的布局。我不会担心或过分强调它,因为无论你选择什么,你都会找到你喜欢的东西,你会找到你讨厌它的东西。我有时会陷入花费更多时间试图让一切变得“完美”的陷阱,而不仅仅是编码和改变我不喜欢的东西。