20160913IT中的抽象

在前面:今天的内容也算是和建筑相关的延伸,之前一直采用图文的形式,今天文字比较多,而且技术型略强,需要点时间来阅读,当中也会穿插一些对IT行业的理解,因为阳阳一直说想学习下我的行业嘛。由于我本人对于建筑和哲学的研究并不深入,文中可能会有些谬论,请一笑而过。

名词解释:

类语言:一类编程语言,这些编程语言拥有两个明显的特性:继承和封装。如java,c#,objectC等。

文章的起源是早上翻看的一本杂志——《城市-环境-设计UED》,在被杂志里面大量的哲学词汇:结构主义、解构主义、现代主义和后现代主义等等“主义”砸得天旋地转之后,我终于看到一个熟悉的词:抽象调解和策略(AbstractMediationandStrategy),“抽象”在IT中的“类语言”中应用非常广泛。下面我就这个词来展开一下,谈谈在建筑和IT两个行业上我的理解。

建筑所说的抽象,应该是指:点、线、面,以及这三种结构的组合。说到这里我有些羡慕建筑师,因为建筑的抽象是已经归纳好的东西,从数学的排列组合来看,三种结构一共有....嗯....反正是有穷尽的组合类型吧。而对于IT来说,对每个行业的信息化都需要根据行业的特点重新抽象。IT中所说的“抽象”,是找出一系列事物的共同点,将这些事物进行归类,然后用编程语言来对应。

比如现在要建设一个菜场,建筑师会根据地形,以及菜场的需求,画出如下结构图,整体为点线组成的“网格”结构,每个摊位可以按照菜场的实际管理需求摆果蔬、肉禽或者生鲜等等,这是一个空间结构的概念。

图1摊位空间结构(我假想的)

而如果你告诉一个程序员要做一个菜场的管理系统,他会做出如下结构图。程序员通过归纳得到三个类(型):果蔬,肉禽,生鲜,再抽象(归纳)又得到一个类叫做“菜”,这个“菜”拥有菜场买的所有东西共同的属性:价格,产地,是否变质(可能还有很多,这里举个栗子)。然后用程序实现的时候,只要买的所有菜都继承这个“菜”,也同时就拥有了价格,是否变质,产地这三个属性。就像生物学里面所说的继承一样,子会拥有父所拥有的基因。

图2菜品类结构

上面这个图是关于菜品的类结构图,随着制图技术的发展,当程序员需要用程序来表达图1的空间结构时,又需要对图1进行归纳抽象,可以得到下图:

图3菜场空间结构类图

程序员再次利用“抽象”,将墙、门、道路以及摊位抽象为建筑结构,并赋予一个公共属性:坐标。这意味着墙,门,道路,摊位都具有该属性。同时,由于每个摊位都需要买菜,所以摊位和菜产生了关联关系如图中的表示。

以上我简述了程序员工作的第一步,就是画类图(UML图):将用户需要的所有“名词”都整理出来,然后穷举、归类、抽象,这是项目分析通用的方法论,这个过程对写PPT也很有帮助。

由于时间关系,这次讲座就到这里,下次我会就“结构主义”在建筑和IT上的应用进行讲解,既然讲“主义”,那么也上一首有“主义”的歌,SHE的《半糖主义》,女生的KEY我确实不适合啊,唱得不好,别笑,下课~









































白癜风的专科
北京治疗白癜风最佳药物


转载请注明地址:http://www.shiquanren.net/itsf/1319.html


  • 上一篇文章:
  • 下一篇文章: 没有了
  • 公司简介 广告合作 发布优势 服务条款 隐私保护 网站地图 版权声明