软件代码的形式

 

目前为止,程序的表现形式是对过程的叙述(原子核:控制,电子:数据、算法,运行路线:顺序、分支、循环),顺序、分支、循环结构是最基本的原子形式。而面向过程的分析和设计无疑是最自然的框架结构,它将过程形式的代码段再次迭代的以过程形式组合,形成整个程序。就像将句子连成段,将段连成章,将章连成篇,将篇连成书。这也是最符合阅读者思维的形式,整个程序就像一个内含超链接的文本小说,主体上是流畅的,符合连续思维的。

面向对象程序不能说是颠覆性改变,它的原子表现形式仍然是顺序、分支和循环。而由于依赖于过程性系统的装载,其整体的最外层仍然是一个过程性的函数。它与面向过程在其表现形式上的不同,仅仅存在于中间层。

1.1      面向对象的两种形式

 面向对象程序的表现形式是词条式的,至少是传记体的,而不是编年史。你可以想象,一部小说,作者首先把所有的故事按照角色重新归类,再分割为一个个小故事,可以想象是这样的:

——传记式:

《张三传》

     张三,秦人,少年,虬髯黑脸,为人仗义。

     逸事一:若傍晚时访之,必留宿,夜必邀相饮。三十三年春,李四自华阴来,……

《李四传》

     李四,中原人,白脸壮年书生,十六岁举秀才。

     逸事一:其人好游,某年遇张三……

——词条式:

醉酒:     张三与李四饮酒,大醉……

举秀才:   李四,十六时……

张三其人: 秦人,少年,虬髯黑脸,为人仗义……

巧遇:     三十三年,李四巧遇张三……

仗义好客: 张三好客,若傍晚时访之,必留宿,夜必邀相饮……

1.2       两种形式的分析

这种表现形式是某种词条式的分裂,故事被不断的片段化,一个比较好的面向对象程序一般会有大量的细粒度对象,对象的属性和方法都不多,方法都很短。虽然这种表现形式能解决一些过程性叙述的不足,但无疑过分的碎片化会带来理解上困难,传记式尚好,词条式就很难了。这就是面向对象程序在形式上出现的弱点。分析设计时,需时时脑中回想整体结构,以防偏离。而阅读维护时,需要把这些片段慢慢织起来,连成一个故事。

对象模型对世界的近似在于将其分割为独立的片断,函数式模型则不是沿着对象间的边界去做模块化,当“对象”之间不共享的状态远远大于它们所共享的状态时,对象模型就特别好用。这种对象观点失效的一个地方就是量子力学,在那里,将物体看作独立的粒子就会导致悖论和混乱。将对象观点与函数式观点合并可能与程序设计的关系不大,而是与基本认识论有关的论题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值