【发布时间】:2015-07-06 00:35:58
【问题描述】:
我开始使用 DDD 指南实施企业应用程序。 首先,我和我的团队正在开始我们的 DDD 之旅,所以我们有很多东西要学习和理解(如果我说了什么,请原谅我......愚蠢=>)
该应用将是一个(非常定制的)CMS。 该项目将具有:
- 使用 Microsoft 堆栈(C#、WebAPI、EF6)开发的域和后端
- 使用 AngularJs 开发为 SPA 的前端
我最大的疑问与在富客户端应用程序中如何(以及在多大程度上)使用域有关......我的意思是,如果所有逻辑都驻留在域对象(后端)中, FE和BE之间的沟通应该如何发展?系统是否应该为 FE 侧的实体所做的每一次更改都做一种乒乓球比赛?
或者我应该做出一些妥协吗?有人有过类似经历吗?
【问题讨论】:
-
问题标题可以改进。 “是个好主意”征求意见。当......要求具体解决方案时,如何减少所需的乒乓球次数
-
您的问题非常广泛。好吧,答案可能很长:) --- 我倾向于将域视为旧的物理计算器。它具有输入数据/行为的机制(键盘)和输出机制(屏幕/打印机)。无论您使用什么输入或输出机制都不会影响域。它是隔离的并执行一些业务功能。希望对您有所帮助:)
-
我很抱歉这个广泛而不清楚的问题,你没事。实际上,我正在努力让自己的头脑清醒一点,更深入地了解在我的解决方案中实现 CQRS 模式,以便正确地分离利益和责任。
-
@Gnegno 富域主要有助于确保写入的一致性。 UI 可能会调用域以执行某些业务规则(Web 服务),但大多数简单的验证规则都可以简单地在 UI 中复制。我知道,这似乎很难接受,但是尝试自动从域对象中提取业务规则并将它们映射到 UI 视图模型会引入过多的耦合,并且最终可能会更难维护。
-
“系统是否应该为 FE 侧的实体所做的每一次更改都进行一种乒乓球比赛”。每个必须处理的命令都必须发送到后端,是的。 DDD 最适合基于任务的 UI。
标签: c# angularjs domain-driven-design