6.1 从暗示、隐喻,到抽象概念的表达
在与朋友的饭局中,我常常被问道:你能吃辣椒吗?我的回答一般是:我是四川人。我从来没有因为这样的问答而在饭局中遇到尴尬——朋友们都能欣然选择一些口味偏辣的食物,毫不犹豫。
好吧,我承认我很喜欢辛辣食物。
但是我很多次反思过这个问题,即:“我是四川人”这个答案到底表明我是能吃辣椒呢,还是表明我不能吃?就其逻辑来说,这个答案并不能表达我的饮食偏好;然而就彼时彼事的实效而言,却没有人误解。
可见所谓“暗示”,在日常生活中常常是有效的。但是这首先应当基于双方有类似的阅历背景,例如:
- “能吃辣椒吗”这个提问在饭局中通常并不是询问你能否直接食用单个辣椒,而是询问你对辛辣食物的接受程度。
- “能吃”对程度的表达是很模糊的。能吃多少,以什么样的形式吃,这些信息都不能在设问中得到。通常,如果当时是在川菜馆,那么回答“能”的人心里多少要犹豫一下;而如果吃的是杭帮菜,作这样回答的人就多了些底气。
- “我是四川人”这个回答是说给了解四川人的普遍饮食习惯的人听的。如果面前有几位外国朋友,那么他们通常会对上述的问答茫然无解。
- 问答双方其实都了解这样的一些事实,即“我是四川人”这个回答是在暗示“我与大多数四川人一样”,而非陈述我的籍贯;并且,结合当前的环境,所谓“与大多数四川人一样”的性质是针对辛辣食物而言的;最后,就这一性质而言,普遍性的情况,亦即是事实是:偏好辛辣食物。
如果上述是一个推理过程,那么整个过程包含了许多背景知识和事实推定。其中最重要的一项假设是:我认为提问者与我有相同的知识背景,以及能够做出相同的事实推定。另外,也正如这个例子所提及的,我们在某些情况下其实可以接受一些“程度模糊的”信息。在上面的问答中,最终辣一点或淡一点,都无妨整个饭局的质量;问答者之间,本身也都没有对“何种程度的辣”有一个同一的标准。
与此类似的,我们的架构过程中也有一些信息很模糊。例如,我们前面在讨论“办公系统是一个什么样的系统”时说:
……我们需要更深层次地设定“被规则化的”的这个系统本身。总结我对这一设定的考虑,它将会是:
- 与现实系统看起来 类似 的、
- 具有 同等 的组织容量的、
- 基本 符合现实系统的运作逻辑的
一个软件系统。
注意,在这里用到的类似、同等与基本(符合),都是很模糊的程度用词。
所以,总的来说,我承认架构过程中存在大量的背景知识和推定事实,并且信息表现得可能会模糊而含混。这是因为架构过程本身就是对目标系统中一些不太明晰的概念(边界、联接关系等)渐次清晰的过程,所以架构过程中的模糊信息是必然存在的,否则根本不必去架构它。
但是这并不妨碍我们要求对架构的表达必须清晰准确 1 。因为实施过程必将依赖架构的结果,亦即是架构的最终表达与决策。 架构表达 是在架构过程的阶段性成果的基础上所进行的、尽可能准确而清晰的叙述。如果它不能尽量准确地反映架构过程的阶段性成果,那么它也就不能作为下一个阶段(无论是实施还是新的架构迭代)的有效依据。换言之,如果对架构结果的表达是模糊的,则该结果是无意义的。
那么,让我们从一个最简单的表达开始。请问:在白纸上画下一条线,意味着什么?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论