基于 FP 的一次 DDD 战术设计实践

作者/分享人:agiledragon
向 Ta 提问
多年软件架构和开发经验,领域驱动设计中国峰会2017演讲嘉宾,爱读书,爱运动,爱编程,爱分享,对于大型软件的重构具有丰富的经验。这几年指导多个团队积极实践XP,包括开发领域和测试领域,取得了比较好的效果。 个人简书主页:https://www.jianshu.com/u/1381dc29fed9 个人github主页:https://github.com/agiledragon

在 DDD(领域驱动设计) 中,Eric Evans 认为领域模型是 DDD 的核心,软件开发中的所有参与者都应该围绕着一个统一一致的领域模型而工作,使得软件的复杂性得以有效控制。

领域模型是从领域问题出发人为构建的一种面向领域的指示性语义,选择某种编程范式就选定了特定的构建基础。理论上不管选择 OP(面向过程)、OO(面向对象)还是 FP(函数式)做为构建基础都是图灵完备的,但在工程上需要考量哪种编程范式与领域语义之间的 Gap 最小且维护成本最低。另外现代编程语言基本都支持多范式,使得程序员可以在局部灵活选择最佳的编程范式。

人们已经在基于 OO 的领域建模方面积累了大量的经验,而在基于 FP 的领域建模方面的经验却比较匮乏。本场 Chat 主要分享基于 FP 的一次 DDD 战术设计实践,主要内容包括:

  1. 基于 FP 进行领域建模的场景;
  2. 针对案例的第一个游戏建立领域建模,并通过代码表达;
  3. 针对案例的第二个游戏演进领域模型,并通过代码表达。

附:Counting-Shapes 代码

已有132人预订
预订达标
文章出炉
交流日期
     
09月09日
09月21日
10月10日 20:30
本场Chat文章已出炉,交流活动时间为 10月10日 20:30,敬请期待!预订本场Chat,您还将获得一张agiledragon的读者圈Pass
请务必添加GitChat服务号以查看活动进度及获取活动通知。
查看文章评论/提问
小浩子
更像是一篇讲算法或面试题的文章,并没有讲清楚FP与DDD的关系
退款保证:
• 09月14日前,预订人数未达标,您将获得全额退款。
• 作者未按时完成文章,您将获得全额退款。
• 作者未按时间进行分享,您将获得全额退款。
你可能还喜欢
使用 Spring Boot 开发邮件系统
纯洁的微笑
基于深度学习的计算机视觉技术在无人驾驶中的应用
美团技术团队
Elasticsearch 搜索引擎应用实战
图南
百亿流量 API 网关设计与实践
kimmking
Java 性能瓶颈分析工具
蓬蒿
RabbitMQ 典型应用场景实战
SteadyHeart
微信扫描登录