作者:汤雪华 博客:http://www.cnblogs.com/netfocus DDD & ENODE 作者:汤雪华 博客:http://www.cnblogs.com/netfocus.

Slides:



Advertisements
Similar presentations
模板的使用 教育学 江西教育学院教育系 冯芳 2012 - 10. 第二章 教育学的产生和发展 第一节 教育学的研究对象和任务 第二节 教育学的产生与发展 第三节 学习教育学的意义与方法.
Advertisements

用 藥 安 全 用 藥 安 全 護 理 師 張 嘉 芬. 前 言 前 言 正確用藥的方法 藥袋上的秘辛 為了減少重大疾病或是醫療處理、 用藥不當的相關事件發生。
阿尔伯特亲王 阿尔伯特亲王纪念碑 维多利亚女王夫妇 维多利亚女王一家 建造水晶宫 水晶宫初建时的照片.
1 門市服務丙級技術士 技能檢定介紹 門市服務丙級技術士報告注意事項 證照名稱:門市服務丙級技術士 發照單位:行政院勞工委員會 有效期限:終生有效 考照時間:每年一次,皆為第一梯次 1. 簡章與報名書表發售時間:每年 1 月 2. 報名時間:每年 1 月。 3. 學科考試時間:每年 3.
有教無類 因材施教 適性揚才 多元進路 優質銜接
生源地助学贷款系统还款功能优化说明 评审三局 2015年5月.
抗菌药物合理用药指标 2011年11月24日.
梦想启航 ——大学生活与职业规划专题讲座.
河北保定外国语学校 高三家长会.
抗菌药物临床应用管理办法释译 重庆市医院感染控制中心 陈 萍.
以信息化带动教育现代化,打造教育的“南山质量”
二、信用工具和外汇.
个体税收征管政策讲解 浏阳市地方税务局.
封面 2015易驾考最新分享: 科目二考试方法秘诀 文章来源:易驾考官网.
基于行业的 企业技术创新信息保障体系研究 刘 华 博士 中国科学技术信息研究所.
为您扬帆,助您远航! 徽商银行特色新产品介绍. 为您扬帆,助您远航! 徽商银行特色新产品介绍.
第四讲 1949—1991年的中苏关系 及其经验教训.
“鼠标加水泥”的百货公司——武汉中百 朱巧巧 陆嘉怡 田泽宇.
合理控制索道游客流量 确保景区可持续发展 云南丽江玉龙雪山索道 陈加林 二0一五年十一月.
千里挑一的“征途” ——浅谈中国“国考”热.
校园信息管理系统 河北科技大学网络中心 2000/4/10.
抗菌药物临床应用管理规定.
公务卡使用说明.
研修4组 学习简报(第3期) 主编:左文玲 2015年2月7日.
潘集小学英语班 学习简报(第5期) 主编:吴婷 2016年2月28日.
财务知识培训 杨 秀 玲 2014年10月.
与领导、下级、同事的 沟通技巧.
潜能宇宙平衡法则 ——启动11.11天地人合新生命工程(分类系统) 凛然智慧(北京)教育咨询有限公司.
失眠的饮食及调理 北京国济中医院
中餐烹調實習Ⅲ 第九章中國菜系介紹 林可薇 製作.
美学概论 主讲教师 孙建章 沈阳电大文法系.
第一章会计技能的内容 1.1会计技能的重要性.
徵收苗栗市福全段147、1588及文心段10、11地號等4筆土地之
新高考研究介绍 湖北省教育考试院项目研究组.
如东中专 学校文化课现状及提升举措的思考
讲 义 大家好!根据局领导的指示,在局会计科和各业务科室的安排下,我给各位简要介绍支付中心的工作职能和集中支付的业务流程。这样使我们之间沟通更融洽,便于我们为预算单位提供更优质的服务。 下面我主要从三方面介绍集中支付业务,一是网上支付系统,二是集中支付业务流程及规定等,
钞坑安置区项目简介.
第3讲 时间管理.
续班指导.
高等教育出版社 工作汇报 化学化工分社 翟怡.
中国人民公安大学经费管理办法(试行) 第一章总则 第四条:“一支笔” “一支笔”--仅指单位主要负责人。负责对本 单位的经费进行审核审批。
******班班级学习简报(第*期) 主编:*** ****年**月**日.
采购控制程序 2008年9月.
单位:十堰离退休职工服务中心 时间:2016年2月1日
中国家电企业如何打造全球化品牌 黄 辉.
四川信托-汇誉10号集合资金信托计划.
《现代大学 英语》 说课程 公共课部 臧朝晖 益阳医学高等专科学校.
保大人还是保小孩 ---产房里的伦理学问题 小组成员 蔡婷 基础医学系 郭灵飞 基础医学系
超星尔雅 tsk.erya100.chaoxing.com 网络通识课程学习指导.
中药学 第十一章 祛风湿药.
形势与政策 2016年上.
幼儿园班务管理实践.
中 医 内 科 学 第一章 第一节 感冒.
中共江西省委党史研究室 从井冈山斗争中汲取信念的力量 沈谦芳 (江西省委党史研究室主任,博士、教授)
电气安全技术和管理 ——面对工厂管理者的电气安全管理 主讲人:林仿生.
第四节 存货 一、存货的分类 二、存货核算的主要内容 三、存货的确认条件 四、存货入账价值的确定 五、存货发出的计价 六、原材料
七年级下册《生物学》 神经调节的基本方式 小关镇第一初级中学 张书珺.
家庭教育 ----关爱成长 颜士杰.
2016年陕西省中考 语文试题分析(宝鸡市) 金台区教研室 马莉宁.
第三章 人类社会及其发展规律.
中 医 内 科 学 第二章 第二节 胸 痹.
小组成员:吴芋蓓,钟汶珊,程瑶,唐嘉馨,朱然
科技经费管理与监督检查 浙江省科学技术厅 计划财务处 2012 • 8.
第七章 固定资产.
認識檳榔與口腔癌 九湖國小 護理師 謝金枝.
微信商城系统操作说明 色卡会智能门店.
班級家長日召開經驗分享 如何邀請家長參加家長日 家長日召開前置的作業 家長日資料的編寫與整理 家長日召開前一日的準備工作 家長日的召開
苍溪县小学语文工作坊 学习简报(第4期) 主编:李周国 2017年4月30日.
2019/5/30 北京市药品供应评价模块 操作说明 北京市医药集中采购服务中心.
大綱 一.受試者之禮券/禮品所得稅規範 二.範例介紹 三.自主管理 四.財務室提醒.
Presentation transcript:

作者:汤雪华 博客:http://www.cnblogs.com/netfocus DDD & ENODE 作者:汤雪华 博客:http://www.cnblogs.com/netfocus

内容提要 DDD理论 DDD案例分析 ENode框架简介 ENode – Conference案例简介

DDD – 什么是DDD 领域驱动设计(Domain-driven Design) 一种模型驱动的软件设计方式

DDD相关领导人物

DDD – 核心概念 领域划分 统一语言 领域模型 界定上下文(Bounded Context)

DDD – 领域划分、统一语言

DDD – Bounded Context

DDD – Bounded Context

DDD – 领域模型基本构造块 实体(Entity) 值对象(Value Object) 服务(Service) 聚合(Aggregate) 聚合根(Aggregate Root) 仓储(Repository) 工厂(Factory) 领域事件(Domain Event)

DDD – 构造块关系图

DDD – 领域模型

DDD – 隔离领域

DDD – 用户与系统的关系

DDD - 领域建模时分析问题的角度 以用户为中心 != 以用户的需求为中心 领域模型是主观的,是人们对领域知识、需求分析后的产物,目的是容纳需求,解决领域内的问题;比喻:只有空杯子才能装水 理解:用户、账号、角色的差别

DDD – 聚合设计原则 聚合 != 大对象,相反聚合应尽量设计的小 聚合是用来封装真正的不变性,而不是简单的将对象组合在一起 聚合之间的关联通过ID,而不是对象引用 聚合内强一致性,聚合之间最终一致性 信息专家模式:将职责分配给拥有执行该职责所需信息的对象

DDD – 聚合之间ID引用例子

DDD - 领域建模步骤参考 先从需求中考虑一些业务场景,和领域专家交谈场景的过程,从中识别出一些明显的领域概念,以及它们的关联,关联可以暂时没有方向但需要有(1:1,1:N,M:N)这些关系;可以用文字精确的没有歧义的描述出每个领域概念的涵义以及包含的主要信息; 根据上面分析得到的领域概念建立一个初步的领域模型 分析主要的软件应用程序功能,识别出主要的应用层的类;这样有助于及早发现哪些是应用层的职责,哪些是领域层的职责; 进一步分析领域模型,识别出哪些是实体,哪些是值对象,哪些是领域服务; 分析关联,通过对业务的更深入分析以及各种软件设计原则及性能方面的权衡,明确关联的方向或者去掉一些不需要的关联; 找出聚合边界及聚合根,这是一件很有难度的事情;因为你在分析的过程中往往会碰到很多模棱两可的难以清晰判断的选择问题,所以,需要我们平时一些分析经验的积累才能找出正确的聚合根; 为聚合根分配仓储,为每个聚合分配一个仓储,此时只要设计好仓储的接口即可; 走查场景,确定我们设计的领域模型能够有效地解决业务需求; 考虑如何创建领域实体或值对象,是通过工厂还是直接通过构造函数; 停下来重构模型。寻找模型中觉得有些疑问或者是蹩脚的地方,比如思考一些对象应该通过关联导航得到还是应该从仓储获取?聚合设计的是否正确?考虑模型的性能怎样,等等;

DDD案例 – 图书借还场景

DDD案例 – 图书借还场景

DDD案例 – 图书借还场景

DDD案例 – 借书场景领域概念

DDD案例 – 借书场景领域模型

DDD案例 – 订单模型

DDD案例 – 订单模型

DDD案例 – 论坛模型

DDD案例 – 校招系统领域模型

DDD - POS机系统领域模型

DDD案例 – 项目计划管理

ENODE – 简介 ENode是一个用于开发DDD+CQRS+ES+EDA架构风格的应用开发框架 领域模型常驻内存,(in-memory) 分布式、高性能、幂等支持、可扩展 架构层面尽量消除并发 面向最终一致性

ENODE – 架构

ENODE – Command处理流程

ENODE – Conference案例

Thanks!