【问题标题】:What is the standard approach for setting up a Visual Studio 2010 solution for ASP.NET MVC 3 project为 ASP.NET MVC 3 项目设置 Visual Studio 2010 解决方案的标准方法是什么
【发布时间】:2012-04-09 19:33:47
【问题描述】:

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

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

  1. Company.Dept.Data(包含 dbml 文件 - 数据模型)
  2. Company.Dept.Business(业务逻辑)
  3. Company.Dept.Web(包含 ASP.NET MVC3 Web 应用程序)

前两个是类库,最后一个是 MVC3 Web 应用程序。 还有其他推荐吗?

【问题讨论】:

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


    【解决方案1】:

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

    如果您打算使用 Inversion of Control 容器进行任何类型的依赖注入,您可能还需要考虑为接口创建一个“API”项目,为实现接口合约。

    【讨论】:

      【解决方案2】:

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

      然后我倾向于将类似库分组到单个存储库中。因此,源代码控制中的“存储”存储库包含 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() 都会发送完全相同的欢迎电子邮件,并且不会出现代码重复。

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

      【讨论】:

      • 感谢您的意见。谢谢!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-02
      • 1970-01-01
      • 2013-07-11
      相关资源
      最近更新 更多