尽管跑题了,但还是感谢 cxz7531 和 flyzb 的热心回复(如何真有必要讨论,请立新帖,这里只是告诉新手们软件开发的基础已经不再是算法和数据结构了),但我在这里也作出回应:
TO cxz7531
可能你还需看看操作系统和应用软件的定义,或者是他们划分的目的,这两者划分是从软件的目的划分的:系统解决交互,应用软件解决应用领域问题。至于你说他们存在架构,项目开发技术等支持,那是因为过去的应用软件写过程模式已经不能满足需求,所以要加入项目思想,架构是为了快速开发,而以前这些是不存在的。
当前应用软件当中包括了一般应用软件和应用系统,应用系统就是我们经常讨论的对象,它不是操作系统,因为它解决了一个领域的应用(一般应用软件则是解决某方面的应用,但还是面向应用的,尽管它没有系统式开发)。操作系统的面向方向和应用软件有着质的不同,他只是单单解决交互,而这也是对它的定义。
TO flyzb
我所表达的是OO思想是不能用来分析和设计的,他没有指导一个东西应如何去分析,如何去设计,它相当于一种表达方式而已,相当于语言(JAVA),只是语言(JAVA)是一种具体表现形式(语句,代码),OO只是一种抽象表现形式(思维),但他们并没有任何分析与设计的。例如四色原型指导分析,DDD领域设计指导设计,而设计模式只是帮助设计的实现,他们都必须以OO思维为基础。若果OO没有了这些分析思想和设计思想(哪怕只是个人总结出来的),OO就不能支持分析和设计了。简单说就像世界观和方法论。
至于套路,我理解是实际行动的抽象(必须绑定在某一事务上),抽象思想的实现(是一种具体的思想)。如武功上所说的套路,它必须是某套武功的套路,一个套路是对某武功而言的,套路不可能是全部武功的。而设计模式则是类似武功套路的再一次升华,可能好像“后发制人”这些词语吧,而这些如何表现在某武功的套路上,就像设计模式如何表现在JAVA的特点和技巧上。设计模式是离开具体语言的,也就是我不把它理解为套路的原因。一种极端而且不准确的描述,但有助于理解:设计模式里面的XX模式就只是一个词而已,至于它到底表达什么样的技巧,就得在具体语言上表达,于是就出现了套路。嘛,其实就是对套路这个词的理解,我知道我们的思想是同一个的。
[该贴被SpeedVan于2010-10-10 14:54修改过]
[该贴被SpeedVan于2010-10-10 15:01修改过]
[该贴被SpeedVan于2010-10-10 15:02修改过]