今天,仔细阅读了园子里面的一个朋友写的《一缕阳光:DDD(领域驱动设计)应对具体业务场景,如何聚焦 Domain Model(领域模型)?》(http://www.cnblogs.com/xishuai/p/3800656.html)这篇博客,觉得这是一篇对DDD的分析总结性质的文章,写得不错,但奇怪的是,居然没有一个人回复,也许是文章太长很少有人赖得着性子看完,但也可能是DDD叫好不叫座的原因,这篇随笔里面也对此进行了分析。不过,我觉得这个问题还有更深层次的原因,今晚跟朋友们探讨了一下,总结后发在这里,希望有更多的朋友能够看到。

文章中说到了领域模型,还说到了领域服务,这让我觉得DDD这个东西有点鸡肋啊,需要领域服务去做协调 ,由此引入了工作单元、事务这些东西 ,甚至还有工作流 。这说明基于DDD设计出来的领域模型功能很弱 ,DDD这种模型是静态的,所以需要领域服务去处理动态的东西 ,这相当于把事物分成了“动”,“静”两个方面去处理。

但是“动”,“静”却是相对的,因为,按照牛顿运动定律 ,是没有绝对的静的,运动是永恒的。 所以分析出来的这个 “静 ”,没有太大的意义。 因此,这注定 DDD这种建模方式,结果是鸡肋,根本之道,是掌握事物的“动机”。 DDD推广不起来,除了现实原因,跟它鸡肋这个特点不无关系。

从事物的动机出发,进行建模,需要DCI这样的东西。 DCI是一种切入方式,顾名思义,DCI的意思是数据在上下文中的交互,所以可以作为事物动机的观察切入方式。这说明 ,DCI提供了一种比较有效的途径,但还是没有触及到根本问题。 不过DCI,相对于DDD,也算是一个很大的进步。但是太超前的东西总是很难让人接受,DDD都是叫好不叫做,DCI,接受起来就更困难了。

 
    我们顺着 DCI的切入点,深入的观察事物,分析数据的流入流出 ,进行归纳总结,发现某些事物总是有类似的行为。如果我们对这一类事物取一个名字,那么最合适的名字就是 “角色”,所以我们立马发现,这些数据其实就是角色进行交互的产物。 如果我们再深入的分析角色为何会有这些交互,那么我们已经接近前面说的“动机”了。这就是角色的“心智”。所以,也有人说,DCI,其实就是对角色的心智进行建模。
 
    从角色的动机出发,那么我们就容易明白角色为何具有这些方法了,明白角色之间为何会有这些交互了。 角色进行交互需要一个载体、媒介,这个东西就是场景。角色交互过程的观察维度 ,就是时间 。场景也就是我们说的空间维度,那么我们马上明白,这些事物的产生、发展、变化,其实就是角色在时空中的运动。 而且,这种运动,是永恒不止的。(参照附录牛顿运动定律)
 
    角色的具体扮演者,可以是人,可以是物,还可以是人类社会。人类社会在时空中的运动轨迹,这就是“历史”。如果说角色也是一个维度,那么我们把时间纬度、场景维度联合起来,这就是一个分析事物的方法论,假如我们用这个方法论来分析业务,那就是 《业务分析三维度(角色+场景+时间)理论》。
"三维度理论",场景、时间 这些比较容易理解,但是,"角色"这个东西虽然容易理解但要找到这个角色名字并不容易,要担当这个角色更不容易.我想,"角色"的名字,就像《道德经》所说的:道可道,莫可道;名可名,莫可名。这个“名”可以说出来但又难以说清楚,所以我们在对事物进行分析的时候,找到合适的角色,并不是一件容易的事情,而分析出角色的“动机”,也就是“道”,就更难了!
附录:
牛顿第一运动定律:
牛顿第一运动定律(Newton's first law of motion)表明,除非有外力施加,物体的运动速度不会改变。根据这定律,假设没有任何外力施加或所施加的外力之和为零,则运动中物体总保持匀速直线运动状态,静止物体总保持静止状态。物体所显示出的维持运动状态不变的这性质称为惯性。所以,这定律又称为惯性定律。物体的惯性与其质量有关。

为什么说运动是绝对的,静止是相对的?

一个物体的静止是相对于另一个物体的。(也就是所谓的参考系的相对性),牛顿曾说任何物体都是运动的,不存在不运动的东西,从量子力学的的角度也是这么阐释的。

相对静止:

没有任何方法可以证实一个物体是在绝对静止之中。绝对静止的物体是不存在的。静止只是一个物体对于它周围的另一个参照物保持位置不变,所以也只能是相对运动和相对静止,运动和静止是相对的。

DDD为何叫好不叫座?兼论DCI与业务分析的方法论相关推荐

  1. 第三十七期:刷脸支付叫好不叫座,为啥消费者和商家都不愿用先进科技?

    移动支付相信大多数人都不陌生,中国移动支付的普及被人称为"新四大发明",在中国移动支付产品发展如火如荼的今天,刷脸支付成为了新的时尚,然而这个时尚的支付方式却显得叫好不叫座,刷脸支 ...

  2. 蓝厂为什么着急推出vivo X23?只因vivo NEX叫好不叫座

    蓝厂又要发新机了,就在下个月6号. vivo这次的新品是vivo X23,为了给这款即将发布的新机造势,vivo再次表现出土豪本色,砸下重金强力推广.上综艺节目,签小鲜肉代言,官微不遗余力地大力吆喝. ...

  3. 明星粉丝经济“叫好不叫座”?变现需找准“窍门儿”

    这年头"粉丝经济"的确不容小觑,"米粉节"12个小时销售额达到15亿,魅族月初在微博上的闪购8分钟入账500万,这给那些唱衰"粉丝经济"的人 ...

  4. 信念就是一种观念对不对_盘点那些叫好不叫座的厨卫用品,也许本身就是一种智商税!...

    阅读本文前,请您先点击上面蓝色字体"友房居"再点击"关注",这样您就可以免费收到我们的最新内容了,每天都会有更新,完全是免费订阅,请放心关注. 注:本文转载自网 ...

  5. 智能家居叫好不叫座,让一部分人先用起来是关键

    6月1日,小米旗下电商平台小米有品推出"Aqara 全屋智能定制服务",用户只需花一万元便能打造三室两厅的全屋智能体验,这一消息引起业内的关注与好奇! Aqara作为绿米联创推出的 ...

  6. 区块链游戏叫好不叫座,BridgeChamp能否破局?

    游戏领域一直是区块链领域中非常热门的板块,通过与激励措施相结合,区块链游戏可以给人无限的想象空间,但是从实际的表现来看,区块链游戏板块表现却很挣扎,大部分链上游戏可玩性普遍不高,即使有激励措施加持也很 ...

  7. 携号转网可能只会叫好不叫座

    携号转网试验已经有几年了,很多人对于携号转网寄予了很高的期望,认为它是电信改革的重要一步,一些用户在使用过程中产生一些不愉快,也会想,要是能携号转网,我就转网,甚至也有一些论者认为它对于调节电信市场会 ...

  8. 金链盟中国区块链应用大赛盘点:叫好更叫座,击碎联盟链魔咒

    12月21日,金链盟中国区块链应用大赛(以下简称"金链盟大赛")总决赛在深圳落下帷幕.基于区块链技术高效处理网上纠纷的司法仲裁链--ODRChain,以成熟的项目运作.真实落地并上 ...

  9. 音频监控叫好又叫座,核心部件拾音器怎么装?

    现在人们日常生活中的突发事故越来越多,人们"有据可依"的防范意识越来越强,视频监控已经成为人们采集证据的重要来源之一,随之人们对于音频监控也越来越重视.在安防视频监控领域,音频监控 ...

最新文章

  1. 线程同步思考 - Condition模块
  2. P3809【模板】后缀排序
  3. 蓝桥杯java第八届第二题--纸牌三角形
  4. 2020Alibaba数学竞赛预选赛第一轮参考答案
  5. Mac Redis安装入门教程
  6. 网站服务器怎么用手机登录不了怎么办,怎么打不开服务器列表了?
  7. dreamcast游戏_《Dreamcast Collection》开箱及游戏介绍
  8. 【bzoj4709】[Jsoi2011]柠檬 斜率优化
  9. security工作笔记004---.NET Web安全性-身份验证和授权(一)之Principal
  10. LVS——DR模式(负载均衡)
  11. 如何让你的数据库定时自动备份(2000SQL)
  12. vb简单控制音量大小及静音的方法
  13. 加州将放宽无人车路测标准:没方向盘也行,没人类驾驶员也行
  14. XP计算机管理员不见了,winxp系统中超级管理员账户消失了如何解决
  15. HanLP《自然语言处理入门》笔记--1.新手上路
  16. Eternity 《天长地久》
  17. 华为无线三层无线简单配置
  18. Linux网络配置和常用命令
  19. DataGrip连接Hive详细步骤
  20. 文本分类中的文本特征表示

热门文章

  1. 自定义能够for each的类,C#,Java,C++,C++/cli的实现方法
  2. HBase1.0.0 实现数据增删查
  3. Java web小项目_个人主页(2)—— 边缘加速原理与实现
  4. linux gone kde 图形程序 兼容,Oracle8i HowTo
  5. emacs python debug_我常用的 Python 调试工具 - 博客 - 伯乐在线
  6. android 模拟器read-only file system,WAC启动Android模拟器 transfer error: Read-only file system错误解决方法...
  7. mysql中使用安全等于 <=>
  8. 为什么要要使用MyBatis
  9. c语言 ipc 参数 序列化,浅谈IPC通信之序列化与反序列化(三)
  10. SQLServer数据库设置项梳理