用个十百千思考DDD

商业模式或者软件设计模式正确,不代表必然成功。你需要把时间轴纬度,也就是“趋势和方向”加入到思考系统中。具体怎么做,可以用“个十百千思考法“。时代是千位,战略是百位,治理是十位,管理是个位。DDD (领域驱动设计)是 Eric Evans 于 2003 年提出的一种软件设计方法和理念,里面也包含了战略、战术、治理和管理等概念,那么“个十百千思考法”和 DDD 关系是什么样的呢?本文将用“个十百千”来思考 DDD,为大家揭开这层迷雾。

1. 什么是个十百千思考法?

千位的重要性,远远地高于百位、十位、个位。雷军曾说过:站在风口上,猪都会飞。说明了企业成功的关键是顺势而为。理解趋势,那么选择如有天助,而不是胜天半子。

百位是战略。战略不对,就是带领企业或团队在死路上狂奔。比如在科技含量高的行业,创新是一个战略。飞猪理论中我们可以直接把猪扔到风口,也可以创新地给猪装上翅膀,猪就会飞的更高更快。

十位是治理。此时就要思考组织与团队的事情。得选出谁是老大,谁是掌舵人,谁是维护翅膀的,和给猪喂食的人等。只有层级分明,结构稳定,大家才能同心协力,保证猪能够在风口持续地起舞,不至于掉下来。

管理是个位。当时代、战略、治理都趋于稳定时,管理就显得非常重要了。管理是解决人与事的各种问题,让人心齐,事能成。

时代是千位,战略是百位,治理是十位,管理是个位。它们的重要性依次呈数量级递减。越是变化的时代,前面越重要;而越是稳定的时代,后面越重要。Eric Evans 在领域驱动设计中也提及了战略、战术、治理和管理等概念,那么在 DDD 中,或者想要成功的 DDD 中的“个十百千”是什么样的呢?

2. 数字化转型是千

有企业研究指出,在中国成功实现数字化转型公司,业绩复合增长率是尚未转型的同行企业的五倍之多。美国风险投资机构 Work-Bench 在 2018 企业软件调研年报中推论:以微服务为代表的云原生技术,是帮助企业实现有效数字化转型的唯一技术途径。

随着互联网和电商业务的高速发展,很多企业技术升级频率很快,并成功应对了海量高并发的业务场景。可以预见技术(如性能和可扩展性等)将不会成为制约业务发展的短板。现在和未来企业更多是将关注点放在业务能力设计和实现上。在新的互联网业务模式下,很多企业开始提升技术能力,将架构从单体转向分布式和微服务。这是因为集中式单体架构业务功能庞大和复杂,业务逻辑耦合高,开发者宁愿增加代码而不愿意修改遗留代码,避免出现不可知的bug,最终导致可读性差,恶性循环。与此同时,企业开始提升业务复用能力,从业务重复建设到中台建设来实现能力复用。

业务能力扩展和复用,其中涉及到业务领域,上下文和系统边界的划分,到底如何划分?单体向微服务转型,到底怎么拆分微服务和中台呢?DDD 就是划分业务领域,限界上下文和系统边界的方法,指导完成应用拆分,微服务和中台设计。DDD 虽然在 2003 年提出来,但是在微服务和中台没有出来前,一直没有火。时代不对,即使 DDD 这个“羽毛”也飞不起来。

但是话又说回来,DDD 也是适用于单体架构帮助业务能力划分。

3. DDD 的原则和战略设计是百

DDD 提倡通用语言、聚焦核心域、协作共创和持续建模。这些原则是为了更好地服务业务,从业务领域出发,来驱动模型设计。DDD 模式包含了业务和技术,从问题域到领域模型再到最后的设计和实现,贯穿了整个软件全生命周期。

战略设计是根据用户旅程和业务场景,从事件风暴或者其他建模方法开始,提取实体和值对象,分析出领域模型和聚合,然后划分限界上下文,建立领域模型的过程。在这个过程中,聚合和限界上下文提供了两个层次的边界,解决了微服务业务和应用边界难以界定的问题,可以指导我们微服务的划分和设计。清晰的微服务边界就更容易适应业务的快速变化,容易地实现微服务架构的演进,自然就能快速地响应变化频率较高的前端业务需求。

[图片上传失败...(image-9eaadf-1651227209321)]

4. 团队组织是十

下图团队的定义出自我的同事笪磊,从业务引导力,架构决策力,技术实施力和质量把控力的维度显示出组织团队的协作沟通并在 DDD 整个过程中的产出。

[图片上传失败...(image-40024a-1651227209322)]

在百位里面我们说到了 DDD 帮助我们解决了业务和系统边界的问题。在传统软件开发过程中,业务架构决定了组织架构,组织架构进一步决定了系统架构。根据 1967 年的康威定律,组织沟通方式会通过系统设计表达出来。对于复杂的,需要协作完成的系统开发,沟通是需要持续提升的事情。在团队内部进行频繁的、细粒度的沟通。对于团队外部,定义好接口,契约,只进行粗粒度的沟通。线型系统和线型组织架构间有潜在的异质同态特性,团队分成怎样的结构,架构就会成怎样的。在 2015 年 James 提出了逆康威定律,应不断演进组织或者团队结构,从而匹配并促进所期望的得到的架构。这样,在理想的情况下,技术架构将于业务架构显示出同构性。

不管是团队的定义,康威定律还是逆康威定律,我们都能看出组织和团队的重要性。组织和团队是战略的落实者。层级分明的沟通方式,组织结构稳定并持续随业务和系统演进,大家才能同心协力,保证 DDD 在战略和战术上的实施。

5. DDD 战术设计是个

战术设计是根据领域模型和限界上下文完成微服务设计的过程,识别和设计微服务,建立逻辑和物理的分层和依赖关系。设计微服务内的实体,值对象,建立领域模型与代码之间的映射关系。这样就能指导团队进行微服务或者中台的开发和测试了。当数字化转型、DDD 原则和战略设计、团队组织都趋于稳定时,战术设计的管理就显得非常重要了。其解决团队中人与战术实施的各种问题,让团队能坚守 DDD 的原则,做好代码与领域模型保持一致。这样数字化,微服务,中台等才能成功。

6. 总结

企业在进行数字化转型的时代中,面临着业务种类繁多,业务高度依赖的问题。微服务和中台是解决这些问题的有效技术手段。DDD 可以同时指导微服务设计和中台业务建模。数字化转型是千,DDD 的原则和战略设计是百,团队组织是十,DDD 战术设计是个。越是变化的阶段,前面越重要;而越是稳定的阶段,后面越重要。高位确定时,低位重要性凸显。专注提高低位能力时,也要关注高位变化。

DDD 的原则和战略设计就像是生产力,团队组织就像是生产关系,DDD 战术设计就像是生产工具。DDD 的原则和战略设计决定团队组织,有什么样的战略,归根到底便会有什么样的团队组织。同时团队组织也反作用于战略,对战略的发展具有巨大的影响。DDD 战术设计是 DDD 原则和战略设计发展水平的重要标志,DDD 在战术上搞烂了(如代码和模型不关联),也就不能支撑战略层面了。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,214评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,307评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,543评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,221评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,224评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,007评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,313评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,956评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,441评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,925评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,018评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,685评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,234评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,240评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,464评论 1 261
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,467评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,762评论 2 345

推荐阅读更多精彩内容