我正在创建一个在数据库中有超过 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 Dahan和 Greg Young .我还会推荐 DDD Google Group询问更详细的问题。 DDD 问题并不总是适合 StackOverflow 以及其他计算问题,因为它们非常细微,通常需要大量来回才能找到问题的根源。
关于c# - 拆分大型 mvc 应用程序解决方案的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11777781/