从复杂设计出简单,从简单来掌握复杂
本文:
设计就是从复杂中找出简单的设计过程。设计者从复杂中得出简单,其目的是要让开发者(Developer)能从简单中反过来掌握复杂;或者让用户(User)能从简单中叫出复杂,并获得其中的满足感。茲說明如下:
<用户体验是是让用户享受从简单中叫出复杂的满足感>这是苹果公司乔帮主(Jobs)的名言。因为智能化设备的功能内涵愈来愈复杂,如果缺乏有效的架构师来设计出简单,而让用户直接面对复杂,用户会感到害怕;就欠缺满足感。
在科学上也是如此。例如,牛顿从很复杂的力学中总结出了f=ma公式,大家就能从这简单公式而去掌握复杂的力学了。爱因斯坦也一样,他从复杂的规律中找出简单的E=mc^2质能互换公式,大家就能从这简单公式而去了解复杂的质能世界了。
为什么说它简单呢? 理由之一是:公式的元素不超过三个,比如说,牛顿力学公式里只有F、m和a三个元素;爱因斯坦的公式也一样,只有E、m和c三个元素。簡單的元素和公式(造形)卻蘊含極為複雜的內涵。
同样地,EIT造形的要素,也刚好就是三个。简单的元素和造形却蕴含极为复杂的内涵,简单而优雅的接口<I>带给开发者和用户享受掌握复杂的满足感。
演练:
Step-1. 反思:传统上,我们习惯于从用户(User)视角看系统,偏于系统的外观;至于内观则基于领域知识的分解(Decomposition)。
Step-2. 假定(1):在某领域里,不同的系统架构之间,其架构的组成元素,应该能归类到少数几种元素(或称为几项要素),并且能明确定义出它们之间的关系。其要素不超过3项,加上简明关系,就成为一个简单造形(Form)了。
Step-3. 假定(2):在某领域里,任一系统皆是由这些相同的要素所构成,并且都符合上述的简明关系。于是,任一系统皆是由上述简单造形所组成。
Step-4. 否证:试图去寻找事实来否证上述的假定。如果没有事实可明显否证,就可以继续追寻那个可能存在的简单造形。
Step-5. 收获:在上述追寻简单造形的过程中,无论是否追寻到目标;都能引导我们亲身演练从复杂架构中寻找简单要素和关系。传统上,我们擅长捕捉系统(或事物)的外观,就像明朝诸贤的”格物致知”过程,观察竹子有节,就比拟到人的志节等。于此,相反地,让我们演练从复杂的内观架构中寻找简单造形。就像道尔顿(Dalton)找寻到简单的原子造形一样;也领悟天才人物达芬奇(Da Vinci)说:”简单是复杂的终极形式”的真谛。
Step-6. 演练:以MCS模式(或造形)为例
模式(Pattern)也是一种造形(Form)。在互联网上,有许多云服务的供应端(Cloud Provider),简称云端;也有众多的云服务消费端(Cloud Consumer),简称终端。如下图所示:
在这种架构里,只有两项元素:云端(C)和终端(T)。如下图:
随着智能终端(如手机和平板)和物联网概念的流行,终端(T)又逐渐细分为两项:移动终端(Mobile)和感知终端(Sensor)。于是,总共含有三个元素:云端、移动终端和感知终端。通称为MCS系统架构模式。如下图所示:
其中,物联网比较偏重于感知端的数据采集,透过网络传输到云端去处理。如下图:
至于移动互联网,则比较偏重于移动应用,透过网络和云端来建立移动终端(或个人)之间的连结等等。如下图:
于是,Cloud、Mobile和Sensor成为现今的<云&端>系统架构里的基本元素。如下图:
有了这三项元素,再加上一些组合规律,就形成一个系统架构模式了。我们就称之为:MCS架构模式(System Architecture Pattern);简称为:MCS模式(或造形)。例如,在智能城市领域里,任一系统皆是由这些相同的要素所构成,并且都符合上述的简明关系。于是,任一系统皆是由上述简单造形所组成。
~ End ~
转载于:https://blog.51cto.com/8204129/1334525