Skip to Content
软件架构师速成指南
book

软件架构师速成指南

by Gregor Hohpe
May 2025
Beginner to intermediate
368 pages
3h 30m
Chinese
O'Reilly Media, Inc.
Content preview from 软件架构师速成指南

第 22 章 图表驱动设计 图表驱动设计

本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com

在图片上作弊比在文字上作弊要难得多

Designing with Diagrams
使用图表进行设计

几年前,Crested Butte 企业架构峰会再次证明,把一群极客聚集在一个偏远的小镇,也能产生创造性的成果。在我们的案例中,结果是一份从活动驱动开发(ADD)到零缺陷开发(ZDD)的 26 种新开发策略的 A 到 Z 列表。 领域驱动设计(DDD)是埃里克-埃文斯(Eric Evans)的奇妙著作《领域驱动设计》(Domain-Driven Design)的主题。1然而,另一个 "DDD "又涌上心头:图示驱动设计,原来在这个有趣的练习背后其实蕴含着严肃的思想。

演讲技巧:不仅仅是宽阔的姿态

在日本为谷歌公司工作时,我为工程师们开设了一门关于演讲技巧的课程,其中包括从《演讲禅》等书中汲取灵感,使用强烈、有冲击力的视觉效果的一些常见想法。2按照我自己的建议,我获得了自信经理的高清晰度图形、表明你的里程数可能确实不同的油量表、显然不适合所有人的鞋子,等等。不过,无论花哨的图形多么有冲击力,对于大多数技术演讲来说,宽阔的站姿、低沉的嗓音和史蒂夫-乔布斯式的手势(高领毛衣可有可无)都不可能让听众了解多云战略是如何增加系统架构复杂性的。

相反,你需要的是 "肉":团队有哪些备选设计方案? 它们有什么不同?是什么设计原则让你选择了其中之一?系统的主要构件是什么,它们是如何相互作用的(第 23 章)?你是如何找到性能瓶颈的?当《演示禅》的作者加尔-雷诺兹(Garr Reynolds)来到谷歌谈论他的书时,他承认技术讨论通常需要详细的图表甚至源代码片段。他建议将这些内容作为讲义提供,而不是包含在演示中,这样可以方便听众阅读和消化。不过,我看到的大多数技术演讲都包含源代码或图表,以详细解释技术概念,因此我们最好想办法有效地做到这一点。

埃德-塔夫特(Ed Tufte)已经对子弹头进行了碾磨,将哥伦比亚号航天飞机重返大气层时发生的灾难归咎于子弹头的不作为。3哥伦比亚号 "航天飞机重返大气层时发生的灾难(从他们拼凑的幻灯片来看,他可能并没有说错)。早在 2000 年,《呆伯特》(Dilbert)漫画就将 "PowerPoint 之死 "写入了永恒。 在幻灯片上也放不下大量源代码,尤其是当你使用的是一种带有检查例外的冗长语言时。这样一来,图表就成了技术概念的主要交流载体。

图表作为设计技术

回到 Crested Butte 后,我们看着我们的清单,思考着我们的一些构思是否真的有意义。有趣的是,当我们在后面的会议中讨论如何绘制有意义的图表时,我强调了 一致的视觉词汇的重要性,它可以省略不必要的细节,但却能突出设计决策的精髓(第 8 章)。在这次讨论中,我们意识到要画出一幅好图,首先需要有一个像样的设计。如果现实完全错综复杂,就很难在事后描绘出秩序。再进一步思考,我们意识到,好的图表设计有助于好的系统设计。图表驱动设计已经成为现实!

当谈到图表驱动设计时,我并不意味着我们要从 UML 图表中生成代码。我坚定地站在 Martin Fowler 的UML as Sketch阵营里。4 阵营,意思是 UML 是帮助人类理解的图画,而不是编程语言或规范。如果大家不太同意,我可以参考 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

游戏化头脑风暴

游戏化头脑风暴

Dave Gray, Sunni Brown, James Macanufo
超越Vibe编程

超越Vibe编程

Addy Osmani

Publisher Resources

ISBN: 9798341658028