【问题标题】:ASP.NET MVC / ASP.NET WebForm data access application - what's the best architecture? [closed]ASP.NET MVC / ASP.NET WebForm 数据访问应用程序——最好的架构是什么? [关闭]
【发布时间】:2009-02-02 00:27:24
【问题描述】:

在回复 Marc Gravell 发布的 answer 以及他通过电子邮件提出的建议时,我想知道:

人们在决定新项目的架构时会做出哪些选择?


这个问题可以作为链接/想法/建议/架构决策的一个不错的参考点,在决定采用新解决方案的最佳方式时真正感兴趣的任何事情。

我目前正在开发一个 ASP.NET MVC 应用程序 - 主要是为了增加我对新框架的体验 - 它与 ExtJs 前端一起在层之间传递 Json 对象。

可测试性非常重要,因此我的 .NET 层使用接口来定义合约,并由一个服务层组成,该层处理数据验证和应用程序逻辑,后者又与只处理数据持久性和检索的存储库层交互。所有这些都让我可以进行相当彻底的测试。

我有一个基于数据库的自定义模型层次结构,但是,它与任何将其绑定到特定平台的 ORM(我目前使用的是 LinqToSql)工具都无关。我的存储库返回的是我的自定义模型,而不是它们自己的数据库结构,这有望让我在未来开发不同的存储库实现而不会出现太多问题。

采用这种方法的另一个原因是,我正在使用一个遗留数据库,它有一些有趣的设计选择,目前不能过多地改变结构,所以我希望对生成的模型有更多的控制。


对你们中的一些人来说,这一切似乎完全错误,所以请告诉我你的想法;)

【问题讨论】:

    标签: asp.net asp.net-mvc architecture


    【解决方案1】:

    听起来你是在正确的轨道上。就个人而言,在当前的版本中,我总是会选择 MVC 而不是 Web 表单。 Web 表单从底层模型中抽象了太多,我发现它通常比它的价值更麻烦。只有当您可以安全地预测您可以严格遵守旨在处理的模型 Web 表单、在开箱即用的模式下工作并且不太关心可测试性时,我才会推荐 Web 表单。

    Web 表单可能有意义的唯一其他情况是,如果您的团队对这项技术根深蒂固,并希望与现有的应用程序堆栈保持一致。即便如此,为了您的开发人员的成长和长期的产品维护(过渡后),如果您可以使用 MVC,我仍然推荐它。

    也就是说,微软可能会在一段时间内继续支持 Web 表单模型,最终这两种模型可能会变得越来越容易即插即用或相互交换(基于我与几个ASP.NET 团队的项目经理)。

    【讨论】:

      【解决方案2】:

      虽然起初很诱人,但对我来说,随着应用程序的增长,Web 表单变得难以管理。使用 mvc,关系更自然,更符合理想。

      【讨论】:

        猜你喜欢
        • 2010-11-25
        • 1970-01-01
        • 1970-01-01
        • 2010-11-12
        • 2011-03-27
        • 2015-04-04
        • 2012-08-27
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多