※写在前面※
如果有人不了解人体的内部结构,就自称医生,声称自己能给人开腹割掉发炎的阑尾,甚至还能开胸给冠心病人做心脏搭桥,你信吗?
如果我自己或者家人是病人,我肯定不会让这样的医生动手术,因为没准一刀进去就切动脉上了。
但是……假设医生治死人不用负责任,可能就会有医生乐意这样干,在不了解人体结构(懒得去学!)的情况下肆意给病人动手术,怎么爽怎么来。
同理——
有的人连如何清晰描述和整理领域逻辑都没有掌握,勉强合格的类模型和状态机模型都画不出来,却能在书籍、文章和课程里侃侃而谈上下文、拆分、微服务……,你信吗?
别说,还真有人乐意相信。道理是这样的:
张三:我需要一个方法,或者说,我得假装我有一个方法(管用不管用的再说)。
李四:我这里刚好有一个方法,这个方法最大的优点是容易学,做的时候也不用思考!你看,DDD项目的包结构是这样的……你照着做一下?
张三:(照做)太好了,我学会DDD了!
这就是现在许多“领域驱动设计”的现状。
当前网络上提供的各种“领域驱动设计(DDD)”课程,既没有能力理清复杂的领域逻辑(第一个D成了空话),实现时也没有能力维护领域逻辑(第二个D成了空话),妄图用简陋的思维(当然,当事人已经自我感觉很复杂了)去解决复杂的问题,有用才怪了!
更多UMLChina关于领域驱动设计现状的批评参见《DDD领域驱动设计批评文集》
不排除有人说“我就是用这么简单的思维就把项目做成了”。并存≠因果。行了,能把项目做成的原因是被隐去不说的填坑和加班,而不是简单思维!
事物的复杂性不会因为我们不理解而且懒得理解,它就不存在了。就像解决各种复杂问题需要用到的现代数学和物理知识,一般人看不懂,但不能因为看不懂也懒得去学,干脆算了,自己发明一套"简单"的去解决问题。
本训练教授的,是需要一定能力的人才能够胜任的复杂思考方法。
※训练介绍※
软件开发中,需求是解决“系统怎样好卖”的问题,设计是解决“降低开发成本”的问题。要降低成本,就要有意识建立,并尽可能复用已有的各种资源。
目前大多数软件组织的复用往往只局限于基础设施级别的复用,很难复用产品所处核心域的组件。如果能够在基于核心域的复用方面做一些努力,对降低开发维护成本,改善利润会有很大帮助。特别是软件组织经过多年的积累,工作的范围往往会从单一的产品,变成围绕核心领域的一系列产品线,其中的各款产品都存在很多相同的机制,但又有许多不同。这种情况下,基于核心域的复用意义更为重大。
本训练强化分析和设计(领域建模和领域驱动设计)的技能,使软件组织迈向基于核心域的复用,降低开发维护成本。
本训练可以作为软件组织接受UMLChina“软件需求设计建模方法学全程实例剖析”训练之后的进阶课程,更进一步强调细化分析和设计实践中的相关细节和技能;专注于分析和设计技能改进的团队,也可以单独选择本训练。
本训练秉行UMLChina一贯的“聚焦最后一公里”原则。训练过程中,专家当场和团队一起讨论和研究团队的当前项目,一起把所授知识当场应用到团队的当前项目,得到团队当前项目的模型。
UMLChina是“领域驱动设计”国内最早的引入者之一,我们了解打着“领域驱动设计”旗号的各种伪创新的真面目。
2004年,UMLChina负责Eric Evans的《领域驱动设计》中译本的审稿工作。该书中译本还没有出版时,UMLChina的《非程序员》杂志就经出版社允许刊登了部分译文。
2005年,清华大学出版社出版《领域驱动设计》中译本,封面有UMLChina的标记。
2007年,开始向企业提供领域驱动设计的训练和咨询服务,但一直揭示并剔除各种“领域驱动设计”内容中的“伪创新”部分。
以下是UMLChina参与(书上有UMLChina标记)的分析和设计(领域建模和领域驱动设计)相关的书籍。
※训练时间※
2天,每天7小时(例如9:00-12:00,13:30-17:30)。
※训练方式※
针对每个知识点循环以下步骤1-5
1.老师将先作知识和建模要点讲解,并随时布置练习题。
2.老师演示如何根据要点实作UMLChina案例项目
3.老师演示如何根据要点实作客户的一个当前项目。
4.学员分组根据要点实作一个自己当前正在做的项目。
5.老师检查学员实作结果,和学员讨论,指出其中错误和改进要点,修改出正确结果。
*自训练结束开始,提供一年的免费微信答疑。
※训练费用※
线下(现场)训练:
整个团队2天的训练总费用为48000元,讲师差旅费用和税费已包含在内。
线上(通过腾讯会议等)训练:
整个团队2天的训练总费用为36000元,税费已包含在内。
※训练大纲※
1. 基于核心域的软件复用
--产品和产品线
--核心域和非核心域
--基于核心域的复用
--域之间的分离
--辨别“领域驱动设计”伪创新
--正确认识微服务架构
2. 分析(领域建模)
--建模方法学选择和基本概念
--提炼领域概念的要点
--核心域透镜
--DDD“新词”祛魅(通用语言、实体……)
--提炼领域概念之间的关系
--不变式和对象约束语言OCL
--彩色建模架构型介绍和应用
--典型领域的分析模式(人员、组织、学校、餐饮……)
--类之间责任分配的原则
--DDD“新词”祛魅(聚合、上下文、领域事件……)
--状态机要点
--通过状态机整理领域逻辑
--状态机和实现的映射
--领域模型分割的底线和划分微服务
3. 实现(领域驱动设计)
--实现领域模型的底线
--模型和存储的映射
--模型和对象语言的映射
--模型和非对象语言的映射
--域之间的典型架构模式(各种花样的实现架构祛魅)
※训练讲师※
潘加宇。UMLChina首席专家。
学习经历
1989-1994 中国科技大学 1994-1997 北京大学
工作经历
1997-1998 清华大学(教师) 1998-1999 惠典电子北京开发部 1999-2002 美国纳软北京研发部
2002-至今 UMLChina
在1999年还是一名程序员时,利用业余时间创建了UMLChina,潜心研究需求和设计技能。2002年开始对外提供UML需求和设计的技术指导和训练服务。到现在为止,已经上门为超过340家的组织提供服务,覆盖了国内各个领域的领袖企业,包括通信、企业管理、电子商务、房地产、网络游戏、地理信息、物流、数码设备、医疗设备、工业控制、航空航天、汽车.....等领域。
从2003年起,受邀担任历年中国软件技术大会、SD2.0、QCon、Tid、ArchSubmit、DDDChina等演讲嘉宾,《程序员》杂志撰稿人,还作为客座教授在中科院研究生院计算通信学院主讲“软件需求和设计实践”硕士课程,多次被评为研究生院优秀课程。
著有《软件方法》一书。http://www.umlchina.com/book/softmeth.html
微信:umlchina2
QQ和QQ邮箱:3504847@qq.com
电话:18858197422
※UMLChina介绍※
UMLChina由潘加宇创立于1999年,专注于研究软件需求和设计技能,为软件组织提供“聚焦最后一公里”的服务。到现在为止,已经上门为超过340家的组织提供服务,覆盖了国内各个领域的领袖企业,包括通信、企业管理、电子商务、房地产、网络游戏、地理信息、物流、数码设备、医疗设备、工业控制、航空航天、汽车.....等领域。
多年来,UMLChina和国内各出版社精诚合作,负责翻译和改编软件工程经典书籍,目前为止参与出版的书籍有(http://www.umlchina.com/book/bookumlchina.html):
《人月神话》
《人月神话》(注释版)
《人件》
《最后期限》
《代码之美》
《UML参考手册 2.0》
《UML风格》
《系统分析师UML实务手册》
《C++程序员UML实务手册》
《SoC设计UML实务手册》
《UML+OOPC嵌入式C语言开发精讲》
《UML精粹》(第3版)
《UML嵌入式设计》
《Use Case入门与实例》
《Head First设计模式》
《设计模式精解》
《企业应用架构模式》
《对象设计》
《领域驱动设计》
《领域驱动设计》(注释版)
《彩色UML建模》
《分析模式》(注释版)
《敏捷数据》
《掌握需求过程》(第2版)
《探索需求》
《有效用例模式》
《面向对象分析与设计》
《领域驱动设计C# 2008实现》
《UML和Enterprise Architect 7.5团队开发实用手册》
《领域驱动设计》2010重印版
《Visual Studio 2010和UML黄金法则》
《UML团队开发流程与管理》(第2版)
《软件方法》
《Head First设计模式》第2版