很多时候,一个道理很早就听说过,但真正理解它,往往需要很多年的实践与体悟。
“细节比抽象更有感知力”,对于我来说,就是这样一句话。
最近,我在罗永浩的对话节目中看到他与作家刘震云的对谈。之前读过刘震云的《一句顶一万句》,当时我对文学和故事的深刻性理解有限,只觉得是农村生活的自然描摹,并未特别感触。
然而在对谈中,刘震云讲述的一个故事,让我对“细节的力量”有了全新的认识。他回忆童年时想上学,外祖母便拔下头上的簪子去县里换了五块钱,为他交了学费。后来他发现,外祖母头上插着的是一截秫秸秆。多年后,刘震云去县里上学,外祖母来看他,他注意到外祖母头上的秫秸秆又换成了一根枣树枝——因为它更耐用。
短短一段叙述,三次提到了“簪子”这个具体的物件:真实的簪子、秫秸秆、枣树枝。这些细节通过耳朵传入,却仿佛历历在目,将抽象的情感(外祖母的付出与爱)精准地定格在了时间的坐标轴上。它用一种简单朴实的表述,包含了深刻的韵味。
这个故事瞬间唤起了我脑海中的那句话:“细节比抽象更有感知力”,并自然而然地关联到了我的本职工作——架构设计。
这里说的设计,并非UI或建筑设计等肉眼可见的形态,而是软件工程中的架构设计。
在软件工程中,设计通常分为概要设计和详细设计,二者多从纯技术视角出发。而架构设计则不同,它通常被认为是为复杂系统服务的。一个复杂系统由多个模块、组织、流程和干系人协作构成,因此架构设计不能局限于技术,还必须纳入业务、组织、运维等多重视角。
大约三年前,“软件架构设计”这个词开始高频出现在我的视野里。在此之前,我也做设计,但那是页面设计、API设计、业务流程和数据库表设计,即“详细设计”。这是软件工程师的基本功,目标是将产品需求转化为明确、具体的实现步骤,确保最终产出与预期一致。这种设计文档必须非常具体,就像刘震云用细节讲述故事一样。
但当我开始真正着手复杂系统的架构设计时,我才深刻理解了“视角”的重要性。详细设计通常只有一个技术视角,就像在一维空间里只能看到一条线。而架构设计则需要从多个视角去描绘系统:业务流程、核心概念、模块划分、职责分工、干系人诉求、非功能性需求(如性能、可用性)等等。这就像“盲人摸象”,任何人都不可能拥有上帝视角看清全局,而架构设计正是为了整合这些局部视角,勾勒出一个相对完整的蓝图。
这种多视角的设计包含的信息量巨大,因此对设计者而言,如何在“细节”(具体)与“抽象”之间把握平衡,是一个巨大的挑战。文章的标题点明了关键:需要用具体的点来表达某些抽象的概念,这样才有助于他人理解——“哦,原来是这个意思,我的理解对吗?”
但另一个问题是,不可能将所有点都具体化。过度具体化意味着限制,会扼杀想象和灵活应变的空间,使架构设计退化为冗长的详细设计文档,失去其指导意义。
文学创作是否也面临同样的平衡?如果事无巨细地描述一切,是否会失去留白的美感,变成流水账?我没有答案,但我认为平衡点是存在的,而这个平衡必然基于作者(或架构师)想要表达的“主旨”。
在架构设计中,这个主旨就是架构目标与原则。例如,架构需要支持10亿用户的容量,那么这个“容量设计”就是重心,你需要将它具体化,详细阐述分库分表策略、缓存方案、水平扩展机制等。而对于一些非核心的、或未来可能变化的模块,则可以保持一定的抽象,只定义接口和契约。
架构设计的过程本身就是一种宝贵的经历。你需要在实践中,敏锐地感知不同事物之间微妙的关联与变化。比如业务方的一句话、一个核心概念,都可能成为打开新视野的钥匙。
我举个例子:2025年,我在负责支付相关项目。早期,我只知道我在做“支付”,但一直困惑于我们做的支付与市场上常见的支付(如支付宝)有何本质区别。直到有一天,业务方提到了“MOR”(Merchant of Record,记录商户)这个概念。经过查询,我了解到MOR模式类似于“京东自营”。就这一个概念,让我瞬间理解了整个业务流程的流转逻辑——因为我们是ToB业务且作为MOR,我们不再需要处理像支付机构那样复杂的渠道端结算,而将更多注意力放在与供应侧的结算上。
这个认知直接影响了架构设计的方向。很明显,我们不需要选择类似支付宝那种面向海量C端用户和复杂渠道的支付机构架构,而是可以设计一套更贴合MOR业务模式的、更简洁的结算与账务体系。这就是一个“具体概念”驱动“架构设计”转变的鲜活案例。
在架构设计中,“具体化”是让细节产生感知力的关键手法。我们常常通过在一个抽象概念前增加定语,来缩小其外延,从而使其变得更具体、更易被理解。换句话说,这是在为概念划定一个更明确的范围。
今天这番思考,源于一个瞬间的联想,让我对“细节”在架构设计中的作用有了更深的理解。抽象与具体的平衡,确实是一门艺术。它不仅考验设计者的逻辑与视野,也考验其沟通与共情能力——你需要从读者(或听众)的视角出发,决定在何处落墨,在何处留白。
你是否也有过类似的、由一个具体细节触发的、对抽象工作产生深刻理解的瞬间呢?欢迎在 云栈社区 分享你的思考与故事。