加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 04:58:39 所属栏目:百科 来源:网络整理
导读:我正在寻找洞察力/论文/文章等,是否可以使用完全声明的域模型(根据DDD). 例如: 验证可以是声明性的(很多ORM都这样做) 业务流逻辑可以是声明性的:有一个DSL用于定义工作流/有限状态机/进程管理器/ DDD Saga(无论你想称之为什么)关于Crud操作,通过ddd-reposi
我正在寻找洞察力/论文/文章等,是否可以使用完全声明的域模型(根据DDD).

例如:

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

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

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

解决方法

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

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

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

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

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

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

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读