DDD领域驱动设计批评文集
通过做强化自测题加入“软件方法建模师”群
《软件方法》各章合集
按照业务建模、需求、分析、设计工作流考察,答案不直接给出,可访问自测链接或扫二维码自测,做到全对才能知道答案。
知识点见《软件方法》(http://www.umlchina.com/book/softmeth.html)、
“软件需求设计方法学全程实例剖析”幻灯片(http://www.umlchina.com/training/slide.html)以及UMLChina公众号文章。
自测链接:https://www.101test.com/cand/index?paperId=YWY6XK
或扫以下二维码:
1. [多选]
用有规律的废话来刷工作量,没有进展却让人有进展的错觉,危害性大而且容易让人上瘾。以下哪些做法是《软件方法》批评过的“废话刷工作量”?
A) er、or类
B) 用鲁棒图(Robustness Diagram)找类
C) 事件风暴
D) 用简单的流程图描述领域逻辑而不是UML状态机图
2. [单选]
有状态机图的片段如下:
如果用类图表达A、B、C之间的关系,最合适的表达是:
A)
B)
C)
D)
3. [单选]
网络有一句著名的“肾反射区猛攻”。
把人体看作一个系统,现在将该系统切割成“心反射区”、“肝反射区”、“脾反射区”、“肺反射区”、“肾反射区”,如果要在逻辑上判断这样的切割是否合理,以下做法中最合适的是:
A) 比较各个区中的部件的总数量以及部件所封装的属性和操作的总数量。
B) 比较各个区中的部件的属性对系统状态的影响。
C) 天下武功,唯快不破。如果允许一次走两步,新手也能击败象棋大师。小步快跑,快速迭代,不断敏捷切割,敏捷试错,画系统运行时各个区协作的序列图,观察其混乱程度,找出多次敏捷试错中的最小值。
D) 从外部观察是否满足用户的领域业务需求之道,从内部观察是否符合领域驱动设计的艺术和哲学。
4. [单选]
深受广大开发人员欢迎的“事件风暴”是领域驱动设计的革命性创造之一,优点是投资少,见效快,产量大,而且仪式感十足。
“事件风暴”会得到一些类似于“事件-状态”的结果。如果用状态机图来表示,以下哪一个最有可能是“事件风暴”得到的结果?
A)
B)
C)
D)
5. [多选]
系统有一个类叫“设备”,在“设备”的状态机图中可以看到有“正常”、“维修中”等状态。
请问,以下类图片段中,能够满足上述关于“设备”的描述的片段有:
A)
B)
C)
D)
6. [单选]
以下说法中,存在知识错误最少的是:
A) 利用Rhapsody等工具,在针对某对象绘制状态机图后,可以运行并观察该对象的状态机实例。
B) 在状态机图上,如果有一个状态是这样的:
那么,同一张图上,不应该再有另一个状态也是
C) 状态图上,迁移的目标可以是状态、历史状态符号,或者另一个状态的初始状态符号。
D) 类的行为规则可以不用状态机图描述,而改用其他方式如活动图描述,也就是说,不一定需要添加“状态”的概念。
7. [多选]
状态机图上,离开初始(缺省)伪状态的迁移上可以有_______________。
A) 触发器(trigger)
B) 警戒条件(guard condition)
C) 效果(effect)
D) 入口活动(entry activity)
8. [单选]
浑元形意太极的掌门人马老师可以看作一个智能系统,他的状态机的某个子状态如下图:
这一天,马老师正在“安舒”状态,一个三十多岁年轻人,上来就是一个左刺,请问,马老师应对的招式是__________。
A) 无应对招式,直接倒地
B) 回马枪
C) 先崩拳,然后回马枪
D) 先崩拳,然后抖一抖,然后喝耗子尾汁,然后回马枪
E) 先左刺,然后崩拳,然后抖一抖,然后喝耗子尾汁,然后回马枪
9. [多选]
有状态机图片段如下图。众所周知,猛攻肾反射区不会是秒S,而是需要持续一段时间。
以下说法正确的有:
A) 正在猛攻肾反射区时,如果此时g的值为真,则不再继续猛攻肾反射区,立即结账并迁移到S2。
B) 正在猛攻肾反射区时,如果此时g的值为真,仍需要等待猛攻肾反射区结束,再结账并迁移到S2。
C) 正在猛攻肾反射区时,如果此时g的值为真,不会产生任何效果。
D) 猛攻肾反射区结束后,如果此时g的值为假,那么暂时不会结账并迁移到S2,等待g的值为真时再结账并迁移到S2。
E) 猛攻肾反射区结束后,如果此时g的值为假,那么不会结账并迁移到S2,即使过了一段时间g的值为真,也不会因此发生迁移。
10. [单选]
浑元形意太极的掌门人马老师可以看作一个智能系统,他的状态机如下图:
这一天,马老师正在“圆活”状态,一个三十多岁年轻人上来就是一个左正蹬,然后又一个右鞭腿。
请问,这两招过后,马老师的状态是__________。
A) 圆活
B) 中正
C) 活
D) 颈椎异常