随笔 - 181  文章 - 15  trackbacks - 0
<2007年7月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

常用链接

留言簿(1)

随笔分类

随笔档案

My Tech blog

搜索

  •  

最新评论

阅读排行榜

评论排行榜

离开学校已经有一些时间了,在接触了各种各样的编程工具,各种各样的编程语言,各种各样的花哨技术以后,我打算在理论方面进行一次回归。初步的计划是再看一遍大学里面学习过的数据结构、离散数学,然后看一下经典的《计算机程序设计艺术》。在回顾期间,做一些笔记。这些笔记将不会是上述教材中知识的简单摘抄或者消化理解之类的,而主要是我重新看过这些书之后结合我平时工作的一些思考。
我在工作的时候做的一些项目多是企业应用类的,主要侧重于业务面。所以我们在进行设计和开发的时候,会比较注重“面向对象”这个原则,同时也喜欢尝试一些设计模式。
但是当我们以这种方式进行建模的时候,却发现期间有两种不同的思路存在。一种是对象--施加于对象的操作--对象属性作为一个类进行设计;一种是对象--对象属性作为一个类,操作作为单独的控制类存在。我属于前者的拥簇者。当然这仅仅属于在设计中的不同习惯而已,对于设计本身不会构成什么根本性的不同。我比较感兴趣的是,到底是什么造成了这两种不同的认识呢?
直到我重新学习数据结构的时候,我才找到了这种差异的源头,那就是:
数据元素(D)
数据结构(D,S)
数据类型(D,S,P)
其中S是数据关系,P是对D的基本操作集。
在大学期间对于面向对象的接触并不是太多,最多就是一门C++程序设计,而且还是侧重于语言的,于是我们就一直与这种数学模型打交道。当然这也无可厚非,因为它毕竟是由明确定义的、合理的模型,经过了无数的印证并变成了铅字的出版物。它的关系侧重于数据元素和数据元素之间的关系;它对于数据元素的基本操作似乎更注重闭包性。计算机最初也许就是这样描述世界的,然后在这个基础上语言变得更加自然,更加“对象化”。但是任何上层的东西都不会偏离根本和实质。这就好像一个建筑工程师和一个泥瓦匠眼中一栋建筑虽然有差别,但这种差别不会不让建筑师去关注一个砖头的质量和摆放情况。
存在即是有理。殊途同归的东西没理由再去争辩。这便是我的想法。
posted on 2007-06-10 10:23 littlegai 阅读(354) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理