用户操作
[即时聊天] [发私信] [加为好友]
李广新ID:lgx522
39214次访问,排名2918(-1)好友0人,关注者7
说实话,做实事
lgx522的文章
原创 29 篇
翻译 0 篇
转载 0 篇
评论 801 篇
最近评论
sap99:www.sap99.com/,SAP99资料多多

SAP免费资料下载
http://www.sap99.com

有很多的学习资料,推荐一下,
aceeci:说一点我的想法,我和一个朋友同在北大青鸟学习,我学java,他学.net,那是,我用jdk1.4,他用vs2003,毕业之后,发现.net的工作比java好找,但是不到一年时间,他跟我说,我想转java了,因为做.net太累了,现在外面招java的已经明显比.net的多了,而且,我现在去找工作,发现企业根本不用vs2003,而他只是看了vs2005,并且两者兼容性非常差,感觉自己想生存下去,……
jamesyu123:我不是很聪明,那就是说PHP、RoR、Java都要掌握是吗?等待中。。。。
lynx1111:写得不错。支持!
请参考: http://www.mydwbi.com/forums/show/3.page
redex:假,大,空

想想IBM经常玩的那些复杂难用毫无效率但经常吹嘘的天花乱坠的
垃圾技术就感到好笑(再想想IBM的thinkpad x60, 吹嘘成世界上
第一台宽屏thinkpad!! 令人超级乍舌!! 再想想m$的所谓跨平台:
就是跨win98,me,2000,xp,2003的平台, 真是TMD超级搞笑!!)

脱离人们的……
文章分类
收藏
    相册
    Java
    Java技术 深度历险
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 何必非要OOP?收藏

    新一篇: Java Web层的下一个王者是谁? | 旧一篇: 热炒Swing,重塑C/S辉煌


    这篇文章其实是笔者多年以来的疑问感悟所成,估计各位居于不同语言阵营中的同道们也会有不少类似的疑问,愿此文抛砖引玉,与大家共同探讨。

    笔者转向Java Web编程前从事的是传统的Delphi C/S编程。转过来后就觉得J2EE分层太多,每到更改,每层几乎都要涉及,相当麻烦且易出错。在Java Web之余,又涉及了一些ASP、PHP之类的东西,才发觉Web编程也可如此简单,不禁对J2EE产生了很大的疑问:本来可以简单实现的东西,何必搞得那么复杂?
    近两年OO水平上涨后才逐渐领会到其中玄机。OO与分层最重要的好处其实业务逻辑及类库的复用!OOP将数据存储、业务逻辑、表示层分离,就可以适应多种数据存储方式与表示层技术的变化。比方说,你就可以选用多种数据库、XML甚至文本!也可以选择WEB、Rich Client以至于手机、PDA。当存储层与表示层变化时,业务层几乎可以保持不变。原因其实也简单:传统的过程式编程是把他们在一块写,而OO则是分开来写。而天下事总是利弊相当,OOP的高适应性也就必然为其带来高度的复杂与费时,甚至修改时的麻烦。综上所述,OOP其实是便于扩展而不适于修改。原因简单之极,写在一起的改起来只需改一处,分开写的改起来则要改每一处。
    这一点上顺便提一下Sun的经典J2EE。经典J2EE其实是把OOP做到了极致,除却上述坚决的三层分离外,EJB更把数据存储层的事务与业务层的分布式特性加入其中。这对大型系统而言绝对是极大的福音。而中小型系统基本上是不需要事务与分布式的,这样一搞就让J2EE非常复杂。于是Sun的经典J2EE遭到了绝大多数中小系统应用开发者一致的口诛笔伐。可到了真正的企业级领域,J2EE的地位却难以撼动。这充分说明了OOP的极致是适应性与复杂性的综合体。这好比生物界中的生物,适应性越高的生物(如人类)必然越复杂。

    是否采用OOP,OOP用到什么程度,要因软件产品的定位而论。如果考虑的是扩展性,业务逻辑相对固定,而存储层、表示层变化多的情况下,OOP当是不二之选;而存储层、表示层相对固定,业务逻辑变化大的情况下,则应选用过程式编程。如果二者变化程度均衡,则可采用MS骑墙式的方法。笔者这番大胆言论其实并非由理论推导而来,而缘于对当今软件界的实际观察。真正的企业级开发无疑J2EE是主导,这符合第一种情况;而变化迅速的互联网界则以PHP为王,小型桌面系统至今仍以VB、PB、Delphi为佳,这符合第二种情况;而中型系统,.NET发展得最好,这正是第三种情况。
    所以我们搞软件的诸位同道,居于不同的阵营中,不免终日比短较长,其实是没有必要的。各种语言都有他的优势与适用范围。做好产品、服务的市场定位与技术定位,扬长避短才是明智之举。

    发表于 @ 2007年02月12日 10:31:00|评论(loading...)|编辑

    新一篇: Java Web层的下一个王者是谁? | 旧一篇: 热炒Swing,重塑C/S辉煌

    评论

    #lgx522 发表于2007-05-23 16:02:06  IP: 220.165.170.*
    简单还是复杂,这是个软件的根本问题。这篇文章正是笔者近两年来痛苦思索过程中的产物之一,最近总算有了结论。
    可参blog最新文章。
    jdon上欢迎讨论:http://www.jdon.com/jivejdon/forum/messageList.shtml?thread=31834&message=23106517#23106517

    要想高产,就要高耦合;要想质量,就必定费功夫。
    又要高生产率,又要高质量,无异于痴人说梦。软件和世间一切产品(作品)一样,想要好,就一定要做足功夫。
    #lgx522 发表于2007-08-27 09:53:24  IP: 116.52.1.*
    这是大半年前的体会,当时笔者正处于OOP的进阶阶段。也就是说,一直用OOP,但没有真正领会OOP。

    这半年投入了对PHP等函数式编程的实践中,这才真正认识到OOP的好处。函数式编程也可以做到部分封装与重用,但比起OOP,还是困难得多。

    最近台阶终于上来了,学会写自己应用中通用的类,学会了扩展已有的Java类库,这才充分体会到OOP对代码质量提高的重大作用。当你真正学会OOP的那天起,才会发觉编程的乐趣无穷。才会发觉通过建构高质量可重用的类库,编程也可以像一棵幼苗长成大树那般轻松、自然、高效。
    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © lgx522