当前位置 : 主页 > 手机开发 > 其它 >

域驱动设计 – 可能的声明域模型(DDD)?

来源:互联网 收集:自由互联 发布时间:2021-06-22
我正在寻找洞察力/论文/文章等,是否可以使用完全声明的域模型(根据DDD). 例如: 验证可以是声明性的(很多ORM都这样做) 业务流逻辑可以是声明性的:有一个DSL用于定义工作流/有限状态
我正在寻找洞察力/论文/文章等,是否可以使用完全声明的域模型(根据DDD).

例如:

>验证可以是声明性的(很多ORM都这样做)
>业务流逻辑可以是声明性的:有一个DSL用于定义工作流/有限状态机/进程管理器/ DDD Saga(无论你想称之为什么)关于Crud操作,通过ddd-repositories最有可能
>决策逻辑可以是声明性的.即:大多数情况下,这归结为简单的条件
>派生/计算字段可以以声明方式完成,但有点棘手,尤其是当这个级联时.即:你必须在计算字段等上保留依赖图.仍然可以完成.

任何实际尝试过的人的链接,或者一些令人信服的争论 – 为什么不能这样做呢?

p.s.:请不要回答“是的,它可以完成,因为FSM是Turing-complete,有足够的内存bla bla”

“如果你拿锤子,一切都是钉子”

不要问是否可能 – 问:
我想以声明方式做这件事的原因是什么?

声明性地进行数据验证是一件好事.你有一个DTO,你添加一些属性,一切都清晰可读.

业务流程以声明方式完成…相当于Windows Workflow Foundation的一大失败.是否有人正在使用它?
以声明方式创建以行为为中心的组件有什么好处?势在必行的方式似乎很适合这一点.
决策逻辑……也许吧.但又 – 为什么?

“派生/计算字段可以以声明方式完成,但有点棘手”
当有一种方法可以用简单的方法达到相同的结果时,你为什么要做棘手的事情呢?

好吗?
您是否需要通过编辑某个配置文件来更改运行时应用程序的行为?好的,去吧.

您是否有一个将被许多客户端使用的通用域,您需要进行一些重新配置以适应它们?好的,但是您需要清楚地区分域中不可更改的核心和不同的东西.不要试图让所有东西都可以配置 – 你最终会得到Inner Platform syndrome.

您是否相信自己可以使用声明性语言来更改其域名而无需程序员?不,你会失败的.我知道一种应该是这样的语言.普通会计师用来探索数据的简单的声明性语言.它叫做SQL:D

网友评论