某些设计决策会对整个项目的轨迹产生影响。在一个复杂的环境中建模是最需要做的事情,但是大项目的特有的变化经常会让模型跟实际的设计脱节。相反,尽管建模工作在小的、动态的团队中通过自治可以得到很好的实施,但是创建大规模的系统需要协作和跨项目的决策。管理人员和开发人员这类角色需要密切关注设计、项目组织和策略三者之间的交集。
在这次的演讲中,Eric Evans 为战略性设计引入了两个主要的原则:
- 上下文映射 用来解决不同的团队不同模型的情况。
- 核心领域 用来精炼对系统的“核心领域”的一个共享的愿景,并提供一个系统化的“何时已经足够好了或者何时需要追求卓越”的指南。
观看 50 分钟的 InfoQ 独家演讲 - Eric Evans 开讲 DDD- 战略性设计
更多内容推荐
“针对产品负责人的分析技巧”在线课程的问答
在“针对产品负责人的分析技巧”的视频课程中,Kent J McDonald分享了一套技巧,帮助我们构建和维系共识并且要优先考虑结果而不是输出。我们将会学到怎样最好地评估项目要满足的需求、怎样构建项目以及合理地交流待发布的解决方案。
Spring DI 容器:如何分析一个软件的模型?
理解模型,要知道项目提供了哪些模型,这些模型都提供了怎样的能力。但还有更重要的一步就是,要了解模型设计的来龙去脉。
2020 年 6 月 3 日
定义软件架构的 10 个属性
软件架构是一套流程;一系列将规格和业务目标映射为架构设计和具体产出的策略性设计决策;一套区分不同利益相关者的过程产出的视图,Michael Stal 陈述了怎样定义一个软件架构。
架构限界上下文:定义领域边界的利器
如果不考虑技术异构、团队沟通等其它外部因素,一个限界上下文理论上就可以设计为一个微服务。
2019 年 10 月 18 日
全局角度出发讨论敏捷
在本文中,敏捷宣言的合著者Jon Kern阐述了一些建立在项目全局角度之上的关键实践,项目本身就是从此开始的。如果不能从系统角度来做项目,那它就不能达到预期的效果,甚至可能会失败。
总结(一):微服务设计和拆分要坚持哪些原则?
面对企业发展历程、企业技术和文化的差异,我们该如何落地DDD和微服务呢?
2019 年 11 月 27 日
利用 LookML 项目导入功能简化代码可复用性
使用 Looker 的分析团队能够平均节省 70% 的时间。
敏捷和架构设计分道而行,又最终拥抱彼此成为朋友
在过去很长的一段时间里,由于对敏捷宣言的错误解读,人们认为架构设计和敏捷流程相冲突,敏捷和架构设计分其道而行之。后来,通过实践以及对敏捷真正的理解,大家认识到架构设计对敏捷的重要性,敏捷和架构最终成为朋友。
为什么说我们需要软件架构图?
适当数量的软件架构图可以极大地改善开发团队和外部利益相关者之间的沟通。我们需要对目标受众有很好的了解,以及对内容的深思熟虑。不要因为有很多不好架构图就认为架构图是不必要的或者没有用的。
创建面向服务企业(SOE)的模型驱动方法
业务与IT看齐是一种主流的企业架构方法,现在,在IT作为核心业务实体的企业中,越来越多人将其视为不必要的管理消耗。Anirban Ray提出一种模型驱动方法,以其创建面向服务的企业(Service-Oriented Enterprise,SOE),其核心假设是:IT是业务的一部分,帮助企业提供以业务为核心的服务。
架构商品列表页:创建分类模型
2020 年 8 月 20 日
Juval Löwy:为什么每个类都应该是一个服务
Juval Löwy开创了一种构建面向服务的应用程序的新方法。在这种方法中,每个类本身都代表一个服务。虽然这些应用程序乍一看可能像“类爆炸”,但它们实际上真是系统分解的结果,经过了恰当的分析和设计。Juwal说明了他的意图,并描述了开发团队如何从这个过程中获得提升。
Vaughn Vernon 谈当今软件开发所面临的挑战
在今年早些时间举办的领域驱动设计欧洲大会上,Vaughn Vernon举办了一场演讲,阐述了他所遇到的各种软件开发方面的严重问题,但也为这些问题提出了应对的方案。在他看来,大量的项目与开发团队都深陷设计糟糕的系统中难以摆脱,无数开发者在不停地为系统打补丁,只为系统能够继续运行下去。这使软件开发文化在很大程度上遭受了严重的破坏。
架构中台落地第二步:企业数字化全景规划(Define)
今天,我们一起来推导出中台落地建设的演进路线图。
2019 年 9 月 25 日
十大领域五大过程组(上):程序员必须要了解的项目管理常识
不管你的项目有多复杂,你都可以参照我今天介绍的知识框架进行拆解,逐个梳理,快速理清头绪。
2019 年 10 月 31 日
实现集成中 API 先行的七步指南
本文介绍了在集成项目中的API先行方式,它能够降低项目成本,控制开发时间,增进团队间的合作,改进整体质量,并为未来的扩展提供空间。
敏捷项目的多层面规划
“响应变化重于遵循计划”,这是敏捷的核心价值观之一,可是它有时会被人错误诠释为敏捷项目中不需要规划,然而,真实情况根本并非如此。在真正的敏捷组织和项目规划中,常常要在多个层面展开规划活动。Shane Hastie讨论了规划的不同类型和方式,以及如何协同使用这些方法。
一个反对“平台团队”的案例
运营多个专注于各自技术业务领域的平台比运营一个平台团队更好。
敏捷 2012 大会议题:动态组织机构建模
Catherine Louis和Raj Mudhar 与大家进行了一场题为“用乐高积木搭建你的公司——设计最佳的大型敏捷公司”的小型互动讨论会 。他们采用动态组织建模方法,利用LEGO积木,让参与者模拟并且可视化了组织的变化。有超过100人参加了这场为时半天的讨论会。
谷歌软件工程师是怎样写设计文档的?
本文介绍了谷歌的设计文档文化,希望能帮你在软件项目中做出明智选择。
推荐阅读
Obeo 发布 Obeo 设计器 5.0
团队建设该从哪里入手?
2018 年 9 月 20 日
开发环境配置:创建你的第一个小程序项目
2020 年 5 月 20 日
敏捷建模:增强沟通和理解
战略设计:如何划分系统的模块?
2020 年 7 月 31 日
不可靠世界的事件溯源
《Designing the Requirements》作者访谈
电子书
大厂实战PPT下载
换一换 程柳锋 | 腾讯 高级工程师、IVWEB团队成员
宫文学 | 北京物演科技 CEO 《编译原理之美》作者
李智慧 | 前阿里 & Intel 架构师 《大型网站技术架构》作者
评论