设计匠艺 | 隐喻体现设计意图

若要让意图清晰的呈现,可以运用“隐喻”。

何谓“隐喻”?隐喻(Metaphor)一词源于希腊语metephora,其字源meta的意思是“超越”,而pherein的意思则是“传送”,即“意义的转换”。古希腊思想家亚里士多德对隐喻的定义是:“将属于另一事物的名称用来指称某一事物。”这主要属于修辞格研究的范畴。而莱考夫与约翰逊则突破了该范畴,将其延伸到认知的研究,他们认为:“隐喻的本质是以另一事物和经验来理解和经历一件事或经验。”在语言学中,从认知角度解释隐喻的论点通常被称为认知隐喻,它强调从人类的思维高度来分析隐喻的认知功能。

在软件领域中,隐喻并非简单地用一个名词对软件事物进行类比,它还包含了对类比事物之间的体验与分析,不仅要找出两者之间的类同之处,还要借助人们对隐喻事物的现有理解,通过我们已经熟悉的活动,将软件开发过程联系起来,从而帮助我们更好地认知软件问题域。因此,软件隐喻的本质是一种认知隐喻。我们可以通过在日常生活中无意识获得的基本隐喻系统,在软件开发过程中,受到关联性的启发和影响,使得主观经验和感觉经验相互匹配,然后通过概念融合而形成具有启示意义和指导意义的软件隐喻。

我曾经主持设计了一个企业培训系统。该系统的需求要求对培训计划进行版本管理。这种管理是针对各种培训计划在不同时期针对同一培训主题需要提供不同版本的内容。例如,同样针对C#的高阶培训,培训计划可能会发生演进,做一些内容的调整,比如增加Lambda表达式的知识,又或者增加最新的模式匹配。这样,企业可以根据受训者情况选择不同版本的相同培训主题。

这种版本管理针对的是企业培训领域,但当我引入SVN源代码管理工具作为设计的“隐喻”时,意图就“水落石出”了。开发人员一下子就能捕捉到这个“隐喻”代表的含义。设计也变得顺理成章,在针对培训计划版本的接口设计时,可以定义诸如checkout,checkin,update,show status、commit等操作作为接口的一部分。

在我设计的另一个系统中,需要实现基于元数据的多租户报表系统。我们找到了Engine作为组件的核心概念。Engine代表了组件在整个系统中所能发挥的作用——驱动力。譬如Data Engine是针对数据处理的引擎组件,是整个系统的数据支撑。Data Engine的意义还意味着它不仅是数据的提供者,同时还应该负责提供获取数据的方式,管理数据资源,生成消费者所需的合理的数据。

在同一个系统的报表引擎组件中,我经过深思熟虑,通过隐喻找到了Runtime的概念。它形象地体现了我的设计意图,即要求该组件能够根据定义好的报表模板在运行时与数据动态绑定起来。顺势而为,我接着推导出Binding的概念。

让我们再来看看Storm中的概念。当你看到在Storm拓扑中定义的Spout、Bolt时,你会想到什么?是否想到哗哗的流水从水龙头中流出,经由水管流到寻常百姓家中呢?没错,这就是隐喻!此时,Storm的拓扑就会在你脑海中建构出城市给排水的管道体系,只要源头不绝,这流水自然会实时的流动,并被客户端实时的消费着。

隐喻我我们提供了清晰易于理解的参考物。许多意图通过隐喻,几乎可以达至不言自明的境界。

原文发布于微信公众号 - 逸言(YiYan_OneWord)

原文发表时间:2014-09-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云计算D1net

人们应将公共云与私有云的辩论抛之脑后

如今是时候把公共云和私有/混合云的辩论抛之脑后了吗?就像Mac与PC,或开放与专有一样,似乎技术上最大的争议就是保质期,而且在云基础架构上发生冲突的时间已经接近...

3798
来自专栏CSDN技术头条

从点线面体谈开发到架构师的转型

我工作十余年,从负责一个模块,到负责一个产品,再到负责整个支付平台的架构设计,包括业务架构、产品架构到应用架构,再到技术架构,是一个从点到面逐渐转型的过程,同样...

1345
来自专栏BestSDK

3个方法2个准则,让你玩转小程序

2007年1月9号,乔布斯发布了第一代IPhone手机,从此拉开了移动互联网的大幕,十年后,2017年1月9日,微信小程序正式问世,张小龙选择这个时间点推出小程...

3768
来自专栏phodal

我写的那六本开源计算机书

最近不在状态,不太状态,看到最近写的电子书又上GitHub Trending了,就发些以前写的以及还在写的书。 教你设计物联网系统 ? 这是由我的毕业设计延伸出...

2535
来自专栏腾讯研究院的专栏

运营商们如何把握“移动互联网入口”的优势?

一、互联网入口三大发展特征   为了争夺互联网用户的第一界面,整个互联网都在经历着集合化-专业化-集中化三个特征的转换:   集合化:即对各类网站、信...

3535
来自专栏云市场·精选汇

小程序+公众号玩出新花样?有趣skr了

微信也是一张流量温床,奈何转化能力一般,而小程序的出现结合小程序一起,从公众号呈现内容,到引流吸粉,再到转化成交,很大程度上帮助了商家解决了高成本问题。

2645
来自专栏疯狂的小程序

小程序火爆的因素

几天前,我重新翻阅了2017年5月写的一篇关于小程序的文章,文章虽青涩但还算精确,文中阐述了三个观点:

23610
来自专栏罗超频道

小程序上线在即,App不会死,但移动互联网却会变天

张小龙在2017微信公开课Pro上发布的小程序即将在1月9日正式上线。在张小龙发布小程序之后,有两家来自杭州的创业者称,它们的估值均上涨了10倍——吸引眼球的成...

3086
来自专栏胖张学院

为什么你自媒体过不了新手?转不了正的原因是什么?又有什么方法

很多做自媒体的都遇到这样的有个问题:难转正;虽然说每个平台法人转正制度不同,但是差不多都是机器来判断的,所以同样是机器判断,为什么别人过的了,而你过不了,这个时...

1950
来自专栏北京马哥教育

运维工程师的职责和前景

运维中关键技术点解剖:1 大量高并发网站的设计方案 ;2 高可靠、高可伸缩性网络架构设计;3 网站安全问题,如何避免被黑?4 南北互联问题,动态CDN解决方案;...

4415

扫码关注云+社区

领取腾讯云代金券