困惑:面向过程和面向对象的结合?

07-02-15 arli
         

我是一个面向过程的IT业者,面向过程的系统有相应快,效率高的特点,面向对象的系统有重用好,易维护的特点,如何在一个要求实时性的分布式对等系统中结合面向对象和面向过程,技术架构如何?产品体系有那些?

我在这里看到很多OO高手,希望你们给我一些帮助。我的项目很急。

[该贴被arli于2007年02月15日 21:24修改过]

         

banq
2007-02-19 09:45

>面向过程的系统有相应快,效率高的特点

谁说面向过程快?汇编语言是最初语言,更快呢!现在双核运行以前basic更快,在这种情况下,追求性能快已经没有意义。

效率高也不对,只能说第一次迭代时开发效率高,但是随着你对系统认识深入,开发效率就越来越慢,合起来算效率高?这里反映我们的脑子思维出问题了,以为软件开发是一锤子买卖,一次开发就搞定,这反映年轻人猴急不成熟心态。软件是有生命的,是随着我们对需求的深入理解,不断进行开发维护,采取OO会越开发越快。

面向过程和OO是一对矛盾,不能并存,一旦并存,就是怪胎,系统一无是处。

另外不要觉得正在发展的思想就是不成熟,OO思维发展越迅速,说明老的面向过程思维就越应该必须抛弃,就像如今武器装备一样,现代武器发展迅速,你就以不成熟为借口,坚持使用大刀长矛做武器。

[该贴被banq于2007年02月19日 09:49修改过]

[该贴被banq于2007年02月19日 10:13修改过]

Coolyu0916
2007-02-19 10:32

>谁说面向过程快?汇编语言是最初语言,更快呢!现在双核运行以前basic更快,在这种情况下,追求性能快已经没有意义。

banq老大,这样比较没有意义吧,我说大机的效率比pc高,这样说有意义么??你用p4双核跟我的286进行PK这样还有什么意义??而且老大你把软件的意义狭隘了,现在很多工业设计对时序要求十分严格,否则就会产生错误,比如医疗系统,如果一个时序出错,就会要了病人的命。

汇编语言现在就没有市场了么??为了提高速度,我们经常做系统分析找到系统最慢的部分,然后进行改进,如果实在不行,我们真的使用汇编嵌入的方式。单独的某个方法使用汇编会影响这个的系统设计么??

Edgra
2007-02-26 12:21

bang说得有点太极端,太绝对。

面现对象的优势大家都知道,但也不是说过程就一无是处。

借用你自己的比喻 “ 如今武器装备一样,现代武器发展迅速,你就以不成熟为借口,坚持使用大刀长矛做武器” ,现在部队装备的主要是枪炮,也主要用枪炮来作战,但匕首很多部队也装备。

就面向对象和面向过程而言,我想面向对象较面向过程改进的地方是先抽象或概念问题领域,把问题领域尽力提取出或分离成一些无耦或低耦 子问题或子领域(object?? 包?? ),但是要解决“领域的实际业务问题“ 还是需要根据业务需求把这些个子领域的功能组合起来。。 这个过程离不开过程。

单从这方面说面向对象是把原来赤裸裸的”过程“隐藏到不同的“objcet”里罢了。 没有过程就没有业务!

arli
2007-03-01 19:17

谢谢版主。我还想跟你讨论一下。

我所说的效率高是指:运行效率高,一般面向过程的系统以数据流作为处理主线,节点之间直接传数据,传输效率高,没有附加信息,实时性也好。如果采用面向对象实现,需要主动发出的数据不能直接广播或者点对点发出,需要几个步骤:1)将修改过的数据写在一个类中;2)调用需要接收数据的类的一个方法,通知其有数据修改;3)需要使用数据的类再通过拥有数据的类的方法取走数据(即:观察者模式)。这个过程来回操作步骤多,而且有多个节点需要数据时还要各个通知,各个自取,效率显然很低,传输延迟大。这在很多专用系统中是不能容忍的,不知您怎样看待这个问题。

也希望其他朋友帮我分析一下。

4Go 1 2 3 4 下一页