gpt4 book ai didi

node.js - DDD + node.js : Where should domain logic go

转载 作者:可可西里 更新时间:2023-11-01 10:19:29 26 4
gpt4 key购买 nike

我正在尝试使用 es6 将 DDD 引入到 node.js 应用程序中。我正在为我的数据访问层使用 Mongoose 。我注意到 Mongoose 有一个与模型模式相关的“.methods”属性。就向实体添加业务逻辑而言,这是添加业务逻辑的理想位置,还是我应该考虑创建另一个对象来保存反射(reflect)模型架构对象的业务逻辑,并将数据从一个对象复制到另一个对象?如果我使用 sequalize,这里的首选方法是什么?

最佳答案

我不认为这个问题真的有一个明确的答案,但我会给你一些意见。

许多 DDD 相关概念和工具都是围绕 OOP 语言公开的特性构建的(特别是:接口(interface)和 IOC)。在 JavaScript 世界中,事情往往有点不同,尤其是在利用模块系统时。也就是说,这并非不可能,但可能需要做出妥协。

DDD 中更重要的一点是您的模型是“普通的”。它们完全不知道任何持久性机制等,它们只是数据和逻辑。通过使用 Mongoose 定义模型,您几乎失去了它;您的业​​务逻辑被附加到 Mongoose 模式对象。但也许这就是你可以妥协的地方,这在很大程度上取决于你希望对它有多纯粹。现在,您可以按照您的建议进行映射。如果你决定继续这个想法,比如 AutoMapper有帮助。我参与了一个使用来自 cerialize 的 ES7 装饰器的项目为了更简洁的方法(但是,我们没有使用模式)。

关于node.js - DDD + node.js : Where should domain logic go,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40581901/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com