您的位置:首页 > 其它

读易[11]·业务平台在系统中的位置

2008-01-03 14:11 260 查看
平台是软件架构中用得比较多的一个词。操作系统是一个平台,Java和.Net的虚拟机是一个平台,这些平台都是和计算机本身结合得比较紧密的。在我们做具体的项目时,业务部分是花费精力比较大的一块,而业务平台的构建可以大大地提高开发效率,并且可以有效提升软件质量。这里讲一讲业务平台在系统中的位置。

一、领域层最难做

在三层结构中,领域层是最麻烦的一部分。首先,领域层要能正确地实现需求,然后还要能快速地应对变化。用户属阳,数据属阴,领域层就是在阴阳之间调和。编码结束后,系统中的缺陷数,不管是需求上的、设计上的、编码上的,大部分都集中在领域层了。正因为它难做,所以我们才需要针对业务寻求解决办法。

二、兼三才而两之

世界分为天、地、人三才,天属阳、地属阴、人为和。孤阴不生,孤阳不长,三才的每一个之中又有阴阳之分,“兼三才而两之”,3*2=6,最终形成周易中的六爻。
领域层为人,在领域层中来找阴阳就能看出今天要说的概念——业务平台。

三、领域层中的阴阳

业务平台的表现形式是多种多样的,不同公司、不同行业、不同应用范围的平台都不相同。所以今天不说平台具体的样子,而是谈一谈它的本质。本质弄清楚了,也就了解了平台的核心思想,无论是要去学某一个平台,还是我们今后要自己做一个平台都是有好处的。

3.1 平台为阴

业务平台是属于领域层的一部分。平台在架构图中都是处在下方,并且是需要非常稳定,因为它需要能支撑起整个系统框架。在做项目时,最头疼的问题就是需求不停的变化,加上中国地大物博,导致地区特性非常多,这些都是在分析设计时的不稳定因数。
中国有句老话:“以不变应万变”。可以说我们是最懂得变的人,把握住变的核心就是“不变”。
世界上有三种人,第一种是“诅咒变化”,一旦出现了变化就骂骂咧咧,觉得自己没有做错,而是环境错了;第二种是“拥抱变化”,不管什么变化来了我都接受,然后用乐观积极的心态来面对;第三种是“引导变化”,随时都能走在变化的前面,以我的不变来对付你的万变。
软件行业对变化可以说是深恶痛绝,刚踏入职业程序员门槛的人,很少有不骂需求变化的人。当然,这确实是有点失败,本来计划做得好好的,Project的任务排的满满的,一切都没有问题,谁知道中途发生这么件事情。没办法,做软件避免不了变化的。
到了高级一点的做法,那就是“拥抱变化”了。发现需求变化后,程序员都在骂人,不干活了,怎么办?经理们,或者资深的程序员站出来了,说:“心态决定一切。我们要拥抱变化,有变化才能体现出我们的设计模式没有白学,我们的能力很强啊。”这种方法比第一种就要好得多了,但还不是最好的。
拥抱变化怎么说也是跟在变化后面跑,只不过有跟得紧一点或者跟丢了的区别,不能算上乘。如果我们能走在变化的前面,这样才能以最低的成本来应对变化,平台的思想正是这样的。
平台为阴,主静,处下。稳定对于平台来说是非常重要的。

3.2 应用为阳

上面说了,平台只是领域层的一部分,没有哪个软件可以直接将平台当作领域层直接丢给用户的。平台为阴,主静,但实际的业务却变化多端,所以我们需要在平台上构建我们具体的业务,或者通过配置文件,或者通过脚本语言。
在平台之上构建的应用主要是将平台的功能发挥出来,让原本主静的平台发挥出各种各样的功能。
应用为阳,主动,处上。怎样能更好的变化是应用层需要解决的问题。像动态语言、或者插件技术都是不错的解决方法。

3.3 其他

平台说起来真是好处多多,但为什么平台这么少,中国的软件公司拥有自己业务平台的并不多见。主要原因是开发平台的成本高,技术难度大,如果是业务平台的话则还需要对业务的理解程度要相当深刻。
软件从表面来看是一个阳性的产业,因为它要求快,要求动,具有阳的特性。但经过这么多年的发展后,我们反而发现了平台这类属阴的产物。真是“阴阳相生”了。在一个阳性的产业里不断地提炼出阴性的东西,这点也是相当困难以及不可理解的,不过理解了易经的道理之后,这却是相当自然的一件事了。
当然,并不是所有的公司,所有的项目都适合选用平台技术。对于技术积累比较少的公司,在分出三层架构后也并不一定要在领域层中强行的分出阴阳。不用平台也一样是可以做出相当成功的软件。

四、以静制动、以下取上

说起中国的“道”,也许有很多人都会认为这里面尽是一些自相矛盾的话。比如说“以静制动、以下取上”。粗看起来,似乎没有任何道理,按照常识来说,很显然是“动克静、上克下”,怎么这种骗人的话能流传几千年呢。
结合这里介绍的业务平台来理解,就相当清晰了。
应对变化最有效的方法就是不变,平台属阴,主静,却正好能帮助我们应对各种各样动的业务变化,这点就是“以静制动”。同时平台又处下,处于下位的平台能影响到上面的所有应用——以下取上。
这样看来,道理是在任何地方都相通的啊。 

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1483914
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: