程序员眼中的Program层次模型

Program是给用户使用并且需要满足用户需求的载体,而程序员作为用户与计算机之间交互的协调者,需要用一定的方法与工具来编写程序。Program本身天然是分层次的。

  1. 1. 首先位于最低层的是计算机能明白的0101,由于我们的人脑不是计算机的这个脑袋,这么的多的0101 人脑可不知道Program在干什么,或许人脑接上电流还能工作就能明白0101到底在干什么:)
  2. 2. 在这之上于是有了底层编程语言(包括低级语言与高级语言),比如汇编,C,C#,JAVA等,这个层次的语言适合与开发与计算机交互控制相关的工具。
  3. 3. 然后是数据+逻辑层,理解这个层对于Program才有了本质的理解,不管是什么样的Program都逃不出这些。所以对Program本质的回答是数据与逻辑,当然Program的原子可能是有对象来表示。数据是一种状态的代名词,而逻辑可能用从语言层面的If Else和While等来组合成复杂的业务逻辑。
  4. 4. 至于数据放在什么变量里面,逻辑在什么地方便是另外一个分析开发方法层次于是有面向对象与面向过程之分,面向过程认为数据应该与行为逻辑分离,而面向对象的观点认为数据和行为逻辑统一存在与对象中。
  5. 5. 然后是为了更加方便搭建大型的应用程序需要一定的辅助支撑,于是框架便承担了Program辅助作用,起到加速开发的作用,比如Net Framework,J2EE等。现在大型程序基本上不会自己从底层编程编程语言做起,也就是你不可能用C与C++去编写大型的程序,因为程序库的编写以及库集成的难度以及稳定性都不允许企业从最基础的做起,而是应该选择现成的编程框架来扩展实现自己的需求。当然有点人抱怨这些库不好用,老是想着自己去一点一滴开发,实际上不是不好用而是不懂得怎么用。另外也有人抱怨这些库性能太低,可事实上这些库的性能以及质量都不低,否则这些框架的开发公司没饭吃了。
  6. 6. 然后是为了满足Program的功能与质量要求是设计层。架构就是使得Program有合理的体系结构并适合企业开发资源的需求,架构就是在需求和资源之间找到合理的结合点。架构本身就是Program组件以及组件如何通信与关系问题的解决方法。在设计层内部有详细设计,比如对象职责定义,行为划分以及具体的接口定义等。
  7. 7. 最后是具体的业务应用层,Program最终的目的就是业务应用。Program应该尽量满足业务的需求,而不是业务需求来满足Program。同时Program要能根据业务流程的变化快速响应需求,也就是IBM的Ondemand。通过组装架构层次的组件来达到完成业务应用的目的。
  8. 不知不觉刚好是7层,颇有和ISO的网络模型7层的意味,不过是个人对Program认识的总结。

 

上面的Program层次模型图。

posted @ 2010-07-22 18:58  richardzeng  阅读(247)  评论(0编辑  收藏  举报