漫谈 · 软件设计中的具象化

版权声明:本文为作者原创,如需转载请通知本人,并标明出处和作者。擅自转载的,保留追究其侵权的权利。golang群:570992072。qq 29185807 个人公众号:月牙寂道长 公众号微信号yueyajidaozhang https://blog.csdn.net/screscent/article/details/84874950

本文微信公众号链接:https://mp.weixin.qq.com/s/PiZU1biNR5DeqrjnhXE9ag

何为具象化?要说具象,就要说说与具象有关的抽象、表象。

抽象与具象:

抽象是通过分析与综合的途径,运用概念在人脑中再现对象的质和本质的方法,分为质的抽象和本质的抽象。分析形成质的抽象,综合形成本质的抽象(也叫具体的抽象)。作为科学体系出发点和人对事物完整的认识,只能是本质的抽象(具体的抽象)。质的抽象只能是本质的抽象中的一个环节,不能作为完整的认识,更不能作为科学体系的出发点。

具象是一个汉语词汇,作形容词时意思是具体的,不抽象的;作名词时,意思是具体的形象;是文艺创作过程中活跃在作家、艺术家头脑中的基本形象。也是文学艺术创作的基本要求。学者常治国先生楹联《载敬堂》:"敦惠心官形具象 / 云为质素焕文光",就强调了具象在创作中的重要性。

具象与表象:

表象只是保持在记忆中某一事物的形象;具象则是作家艺术家在生活中多次接触多次感受、多次为之激动的既丰富多彩又高度凝缩了的形象,它不仅仅是感知、记忆的结果,而且打上了作家、艺术家的情感烙印,受到他们的思维加工。它是综合了生活中无数单一表象以后,又经过抉择取舍而形成的。从心理学意义上说,作家、艺术家的创作过程就是具象的运动过程。具象的运动过程主要是激发、强化作家和艺术家的情感,并与情感相互作用的过程。一旦进入具象运动阶段,创作者往往是情不自禁的,甚至是如痴如狂的,带有很大的不自觉性,很少受抽象思维的控制。具象不是抽象思维的起点,而是在抽象思维的作用下,选取、综合表象的结果。

从发生学上说,表象、记忆能力是人的低级心理水平,动物也有表象和记忆的能力,但动物没有根据自己的需要、态度、体验和思想观念来综合取舍表象进而形成具象的能力,具象为人类所独有。

以上抽象、具象、表象的解释并非出自于我。这里只能说是摘抄。因为我需要一个比较精确的定义,先给大家一个概念。

在人类的繁衍的过程中,人类的创造是通过对客观世界的认知,并传承使得知识不断的积累进步。才打到今天的文明。

那么在这里面有两个动作。

首先,将对外界的具体事务,不断的抽象,抽出事务的本质,形成个体的认知。这里形成的认知,只存在于个体的脑袋里。是无法传承的。

接着,就是人类通过,文字,我国古人通过象形文字。通过一些具象化的描述,使得知识可以得到传承。

而在传承过程中,一些比较抽象的形容,知识,渐渐的成为普遍概念,这些概念,又成了一些具象化的底层知识。

这里我以中医来做例子。中医,古人通过对人体的一些黑盒系统的探测,形成的一系列对人体系统的总结。

为了很好的传承,中医里面出现了很多概念。比较被大家熟悉的有,五脏对应的五行理论。金木水火土,肺金,肾水,肝木,心火,脾土。这里面通过五行这种具象化的描述,来映射人体五脏的之间的影响关系。

如金生水,水生木,木生火,火生土,土生金。这里对应的是肺生肾,肾生肝,肝生心,心生脾,脾生肺。这里的生讲的是好的影响。当然还有不好的影响。

五行属性归类,主要用于概括人体及其与自然界多种事物或现象在属性上的某些内在联系。在中医上,说的是,天人相应。在《黄帝内经·素问》中就有提到,善言天者,必应于人。讲的就是这个道理。

具象化,能够将复杂,抽象难以理解的知识,通过具象映射成为普遍大家接受的信息,使得知识的传承门槛降低,效率提升。

这里面又有一个问题,为何中医,现在却很难学。关键在于,中医学,在古代都是以古代的具象化认知为基础的传承。而现在有多人对道家,对五行知识等了解的?所以才会有觉得难。

从上,我们看到了外部信息,到接受,分析抽象得到认知;再通过将信息描述出来。这里借助的描述方式是具象化输出,将信息传承,或者说是沟通。降低门槛,提高效率。

当然,这里面,要澄清一个事情,那就是将信息输出,有很多种方式,具象化,是比较普遍的形式。当然还有其他方式,有的是直接抽象的形式。

 那么在软件设计中,信息的传递、沟通是一个非常重要的动作。甚至能够对生产效率起到至关重要的影响。

那么讲讲哪些地方,我们可以用到具象化。

客户提的需求,描述的时候,是可以通过具象化来提高效率的。比如,通过一些图、表等形式。架构师,在头脑中设计架构的时候,通过将架构图、模块图、流程图等,来表达设计。

那么程序员呢?程序员接收到设计图的时候,做程序设计,大多数公司,或者大多数程序员,是没有将程序设计,落地成图,表等形式的。

那么程序员通过开发语言,将程序输出的这个过程中,表现出来的程序好与坏,完全取决于,程序员的功底和个人艺术行为。

具象化信息描述的时候,若具象化的越具体,理解的人,会越容易接收。

在软件设计中,有被抽象出来的具象化的设计,被称之为设计模式。而且有很好的名称,其中最有代表性的有工厂模式。

工厂模式,这种具象化的设计,从名称上,就能够立马得到非常多的信息。再通过对此模式的详细描述,应该是很容易掌握的。

还有一本书叫《大话设计模式》采用的就是具象化的描述,这本书的好处,在于通俗易懂。接受度高。

类似的通过对这种模式的推广,我们生活中有很多的模式,是可以用在软件设计中的。如排队系统,医院的分诊模型等等。其实生活的周围就有非常多的模型。

那么关键在哪里呢?从系统性思维的角度来看,有三个方面:角色或者是元素;角色的职能;角色之间的联系。此三者,可以描述所有的模式。

其中角色定位清晰,职能单一,角色之间的联系具有层次性等,这些都是软件设计中的经常提到的一些原则。

好的软件设计,并没有想象中那么高大上。也许就在你身边的模式中。好好感受生活中的模式,将其抽象成具象化的设计模式,将受益匪浅。

龚浩华

月牙寂道长

2018年12月07日

如果你觉得本文对你有帮助,可以转到你的朋友圈,让更多人一起学习。

第一时间获取文章,可以关注本人公众号:月牙寂道长,也可以扫码关注

猜你喜欢

转载自blog.csdn.net/screscent/article/details/84874950