先附上第一章,消化知识的读书笔记思维导图,其中有一个案例,需要深入理解下,在思维导图中不好体现,就放到文档中去说明。

领域驱动设计-读书笔记-第一章-消化知识

第一章的内容,通过PCB专业软件举例子,作者被邀请设计一款PCB软件,通过对象走查图的方式,与领域专家进行头脑风暴并建模,基于模型提炼出了整个软件的基础原型。作者沉淀出了有效建模的四要素:1) 模型与实现绑定。2) 建立一种基于模型的语言。一般通过各种类图即可。3)开发一个蕴含丰富知识的模型。4)提炼模型。

作者还进一步说明,如何取消化知识,这其中大体步骤可分为:1)收集足够多的信息。2)讨论与思考,对知识提精。3)将程序员和领域专家的知识输入到模型。4)不断完善模型。作者也说明,知识的探索是一个永无止境的过程,同时对应的模型的修改和提炼,也是一个无止境的过程。

这里面重点记录下,提取隐藏概念的例子。

例子如下:

一艘船在一次航程(Voyage)中要运载的货物(Cargo),同时将每件货物与一次行程关联起来,并记录和跟踪这种关系。

领域驱动设计-读书笔记-第一章-消化知识

领域驱动设计-读书笔记-第一章-消化知识

因为总会有人在最后一刻取消订单,所以航运业一般是多拉一些货物,这个称为超订。比如预订110%的载货量,有时的规则可能更复杂。需求文档中会包含这句话:允许10%的超订。

领域驱动设计-读书笔记-第一章-消化知识

这个代码没有任何问题,但是有一个重要的业务规则,被隐藏在了标红的这句话中。我们要考虑如何把这个业务规则表达的更清楚,让项目中的人都了解它。说实话,如果代码如上一样,很少有人能通过代码发现这一条隐含的业务规则,如果规则更复杂,情况会更糟糕。这个时候,可能设计的好一点,我们会利用策略设计模式。

领域驱动设计-读书笔记-第一章-消化知识

领域驱动设计-读书笔记-第一章-消化知识

这个例子,作者用来说明:领域模型和相应的设计可以用来保护和共享知识。

相关文章:

  • 2021-06-25
  • 2021-09-13
  • 2021-06-16
  • 2021-12-09
  • 2022-12-23
  • 2021-10-03
  • 2021-08-15
  • 2021-07-23
猜你喜欢
  • 2022-02-26
  • 2021-10-07
  • 2021-11-10
  • 2021-07-13
  • 2021-10-22
  • 2021-11-03
相关资源
相似解决方案