在 DDD(领域驱动设计) 中,Eric Evans 认为领域模型是 DDD 的核心,软件开发中的所有参与者都应该围绕着一个统一一致的领域模型而工作,使得软件的复杂性得以有效控制。
领域模型是从领域问题出发人为构建的一种面向领域的指示性语义,选择某种编程范式就选定了特定的构建基础。理论上不管选择 OP(面向过程)、OO(面向对象)还是 FP(函数式)做为构建基础都是图灵完备的,但在工程上需要考量哪种编程范式与领域语义之间的 Gap 最小且维护成本最低。另外现代编程语言基本都支持多范式,使得程序员可以在局部灵活选择最佳的编程范式。
人们已经在基于 OO 的领域建模方面积累了大量的经验,而在基于 FP 的领域建模方面的经验却比较匮乏。本场 Chat 主要分享基于 FP 的一次 DDD 战术设计实践,主要内容包括:
- 基于 FP 进行领域建模的场景;
- 针对案例的第一个游戏建立领域建模,并通过代码表达;
- 针对案例的第二个游戏演进领域模型,并通过代码表达。
附:Counting-Shapes 代码
阅读全文: http://gitbook.cn/gitchat/activity/5b929ac655e38f67498a534e
您还可以下载 CSDN 旗下精品原创内容社区 GitChat App ,阅读更多 GitChat 专享技术内容哦。