浏览Jdon网站发现一篇好文章

引用

yinyousong:
很多程序员多在抱怨java的new浪费了太多的内存,应该大量的使用static。但依据我观察banq老师的文章来看,banq老师似乎对这些看的不太重。我不知道是不是因为banq老师了解OO思想的真谛。
而在我看来我觉得Thinking in java 的第一章的对象导论给了我很大的启发。书中提到:汇编语言是对底层机器的轻微抽象,C语言是在汇编语言的基础上再次的对机器低层的抽象,而OOP是对低层的完全抽象;对事物的抽象程度决定了代码了优劣(书中原话不太记得了,据我的理解是这样的)
正因为OOP能够使程序员享受最大的快乐!
而java是OO现在的最佳解决方法,那么我们又何必只挑它的刺呢?
再而有了java程序员才有时间享受java(咖啡).

以上只是一个初学者的一点愚见中的遇见而以,如有出错望请大家指出。
如有理论性错误,望大家不要只顾笑顺便提出!。

引用

banq :
>抱怨java的new浪费了太多的内存,应该大量的使用static
前半句在某些情况下正确,后半句绝对错误。

说这话的是完全不懂对象,完全没有OO基础知识,但是这些人还在从事Java/.NET等OO软件开发,相当于外行人冒充内行,可见当前中国软件业水平多么低下。

为什么说这些程序员完全不懂OO呢?
因为他们只知道对象两个表面含义,却不懂对象背后的含义,对象重要特征是什么?对象重要的特征就是有生命的,有scope的,有生命周期的,这其实是一个很朴素的哲学思想,没有永垂不朽的东西,任何物体都是有生命的。

既然,对象有生命,那就当然有生有死,在java中,对象什么时候死已经无需我们操心,因为有垃圾回收机制,我们程序员只要决定对象什么时候生就可以,也就是对象什么时候创建,以何种方式创建。

对象可以new方式创建,也可以使用创建模式创建,方式很多,Ioc模式的诞生,特别是自动配对auto wiring的IOC诞生,让对象的创建也无需我们来编码了,这更大大解决程序员的软件开发生产力,这也就是Jdon On Rails为什么快速的原因之一。

回到对象的生命周期上来,使用静态实际就是变态的延长对象的生命周期,虽然也解放了程序员,无需程序员照顾对象创建,但是这是一种错误的解放,是一种虽然简单,但是方向完全错误,可能导致更大性能陷阱的解决方式,这个我已经在单例是邪恶等帖子中反复表述,因为我们现在的软件是一个多线程环境,如果你使用静态,不但导致非OO系统,到处是长命百岁的对象,系统难于维护;更重要不小心就导致多线程变成单线程系统,也就是单用户系统,某个时刻只能一个用户操作这个系统。换句话说:就是系统缓慢,人操作一多就死机。


http://www.jdon.com/jivejdon/thread/33823.html

按照他哲学观点,我们现实家太阳,有月球,有地球,有分子,原子等,那又该如何表现呢?所有的物体都是由原子组成,那我们的程序中字符就是原子了?还有还有宇宙大爆炸理论,分久必合,合久必分。能把宇宙中的现实世界自然规律等全部抽象在软件中那就牛了!呵呵。
N年后吧。

你可能感兴趣的:(多线程,IOC,OO,oop,Rails)