从程序设计看现实世界

    程序设计目前经历了几个阶段,从面向过程设计到面向对象设计,再到面向服务的架构设计(SOA),再是目前的云计算.

    面向过程设计,其实我觉得可以叫做面向规则设计,它的表现方式可以多样,可以是一个函数或一个存储过程,其实它最终表达就是一个逻辑规则.我平常有个思考习惯,就是常把程序与现实世界联系起来,程序人生嘛,有虚有实,虚拟的常是模仿实际存在的东西而出现的,于是我有个理论是一个系统一个世界,程序员是这个虚拟世界的缔造者,一个世界有自己的事物,每个事物有自己的规则,而面向对象的出发点就是基于事物的规则.

    随着程序员的不断总结,开始有了我们的面向对象程序设计,面向对象思想中的最主要两个元素:类与对象就是直接对现实世界的模仿,总结归纳基于事物的规则,然后把事物的属性与规则一起归类,构造抽象出一个事物的模型,这个思想伟大的地方在于把虚无飘渺的规则归于形象可描述的事物,而这些事物是构建一个世界最基本的元素.有个这些,我们如何去组合搭配他们,就成了缔造我们虚拟世界的关键.

    有了这些资源在手,作为一个虚拟世界的上帝,我得先筹划一下如何设计一个世界,那就参考一下我们的现实世界.

    首先,我得把我的世界分一下层次,不好意思,我的设计是这样的.

    第一层:资源层

    第二层:展示层

    第三层:控制层

    第四层:存储层

  

    层次分好了以后,我得构思把面向对象时创建的那些东西具体分到哪一层次,随便举下例子,把表单扔到展示层,把创建表单的工具扔到资源层,在控制层记录一下这些表单是干嘛的,顺便在存储层为这些表单开辟点空间,以便记录.以此规则把那些东西分了下,感觉好象有点乱,我得到每一层去重新整理一下.这就要分析这些事物之间到底有啥关系呢,也就是类与类之间的关系,通过继承,派生,组合,聚合等等方式搭建一个关系网.

    该有的东西有了,层次也分好了,每个层次也理清了,现在得为几个层次之间搭建桥梁,搭建这个桥梁的形势很多,但是本质就是都是一样的,以一定标准规格的数据包形式按照一定的协议进行交互,其实就是这么回事,无论现在的表现方式是怎么样的.那我们再来看一下面向服务的架构设计(SOA),就是通过一定的封装,将各个层次内搭建的关系网以服务的形式开放向其他的关系网,可以是本层次的,也可以是其他层次的.SOA应该是目前已被证明的一种比较好的架构体系了,你只要告诉我你需要什么服务,具体我们是怎么做的,就不用你管了.举个例子:资源层与展示层之间,展示层的展示需要资源层的支持,我觉得理想中的展示层应该是用户自己定义,用户完全使用资源层中的资源去创造一个虚拟的人类社会,展示层有框架,而资源层以服务的形式开放自己的资源,当展示层需要一个资源时,只要申请该服务,至于资源层是重新创造的资源呢,还是取原本已经存在的资源,就不是展示层需要了解的,展示层只需要告诉控制层,某某时间,你给我在某个地点横着放上这个资源,至于你用了多少力放,是否通知存储层去登记一下,这些就不关展示层的事情了.

   于是我们就以这种方式搭建好了我们的桥梁.再想一下,好象我们的世界也搭得差不多了吧,检查一下.

   1,资源层定义的几种资源是否足够.2,展示层现在是否太简单了,来美化一下先.3,控制层是否有问题,别动不动来个地震啥的,会死人的.4,存储层会不会空间不够等等问题.

   最终,系统搭建完毕.     

  

To be continued.....

阅读更多 登录后自动展开
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页