失效链接处理 |
领域驱动设计(DDD设计模型) PDF 下载
本站整理下载:
相关截图:
主要内容:
6 │领域驱动设计精简版
Info
Q Q Q
中文站
:
时刻关注企业软件开发领域的变化与创新 http://infoq.com/cn
在空中发生碰撞。这儿我们不会试图演化成一个完整的交通控制系
统,只会关注其中的一个小的子集:飞行监控系统。这个提到的项
目是一个监控系统,它会跟踪在指定区域内的任意航班,判断班机
是否遵照了预定的航线,以及是否有可能发生碰撞。
如果按照一个软件开发的视角,我们应该从何处开始呢?在前面的
章节,我们说过会从理解领域开始,在本例中就是从空中交通监控
开始。空中交通控制人员是这个领域内的专家。但是控制人员不是
系统的设计人员或者软件的专家。你不能期望他们会交给你一个关
于他们问题域的完整描述。
空中控制人员对他们的领域拥有广博的知识,但为了能构建模型你
需要提取基础信息并归纳它。当你开始跟他们讨论时,你会听到很
多关于飞机起飞、着陆、飞机升空和碰撞危险、飞机请求允许着陆
等知识。为了找到看似杂乱无章的信息中的规律,我们需要从某个
地方开始。
控制人员和你自己都认同每一个飞行器有一个起始机场和目的机
场。所以我们找到了“飞行器”、“起始机场”和“目的机场”,
见下图。
Aircraft Departure Destination
那么,飞机从某地起飞又在另一地降落。但空中发生了什么?班机
会按照什么路线航行?事实上,我们更关心的是它在航行时所发生
的事情。控制人员说会给每架飞机指派一个飞行计划,飞行计划会
用来描述假定的整个空中旅行。当听到“飞行计划”时,你可能会
在你脑海中想到这是一个飞机在空中必须遵守的路径。在后边的讨
论中,你会听到一个有趣的词:路线(route)。它能很快引起你的注
意,这是个很好的理由。路线包含了飞机航行中的一个重要概念。
那就是飞机在飞行时要做的事,它们必须遵照一条路线。很明显飞
机的出发点和目标点也就是路线的开始和结束点。所以,不同于将
飞行器与出发点和目标点管理,看上去更自然的是将它与“路线”
进行关联,然后路线再与适当的出发点和目的地关联。
|