c# - 拆分大型 mvc 应用程序解决方案的正确方法是什么?

标签 c# asp.net-mvc model-view-controller architecture projects-and-solutions

我正在创建一个在数据库中有超过 70 个表的应用程序,并且会在下一阶段增加。

我使用 Asp.net MVC:模型、 Entity Framework 、 View 模型、存储库、 View 、 Controller 、操作过滤器、引用、多语言......

我的解决方案中这些部分的最佳位置是什么?

我见过拆分解决方案的不同方法。例如:

  - Solution
        - Core.UI
            - Domain
            - UI
               - Models
            - Persistence
        - Core.Test
        - UI
            - Content
            - Controller
            - Views
            - Scripts

或者另一个人说把它拆分成

  - Solution
        - Model
        - Entities
        - Web
        - References

或者

...

您对 DDD(领域驱动设计)有何看法?以及你如何实现它?你推荐吗?


  • 我希望我的项目具有最佳灵 active 最佳选择,因为 当一个项目很大时,就很难改变它的结构。
  • 我想以各种形式交换信息(Web 和 html, 客户端应用程序、移动、xml....)
  • 我想更改和构建我的项目的基本部分 分别(现在和将来)

如果您能帮助我提供详细信息或示例。

非常感谢...

最佳答案

这里的关键是您要避免耦合,这样您就可以在应用程序的整个开发过程中保持高效。为此,您需要采用面向服务的架构

不是将问题分解为水平切片(层)的 n 层应用程序, 面向服务的架构取而代之的是应用程序的垂直切片(服务)。

Start with this video by Udi Dahan如果你想学习面向服务架构的基本思想。提示:如果您已经设计了数据库,那么您的起点就错了。

你想在这里阅读的两个家伙是 Udi DahanGreg Young .我还会推荐 DDD Google Group询问更详细的问题。 DDD 问题并不总是适合 StackOverflow 以及其他计算问题,因为它们非常细微,通常需要大量来回才能找到问题的根源。

关于c# - 拆分大型 mvc 应用程序解决方案的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11777781/

相关文章:

asp.net-mvc - Identity 2.0 链接多个登录提供者

asp.net-mvc - 在 asp.net mvc 中单击按钮动态添加控件

javascript - 类型错误 : Cannot call method 'replace' of null - Backbone. js

javascript - 如何从 MVC 中的 JSON 对象中获取数据

c# - 编程术语 - 字段、成员、属性 (C#)

c# - 如何使用 VB.NET 以编程方式在 Richtextbox 中添加粗体文本

c# - 当项目是一个类时,查找组合框项目的索引

javascript - preventDefault() 后发送表单,缺少 'form data'

php - 在你的 Controller 层进行内容协商可以吗?

c# - LINQ 中的 Where IN 子句