耐心無止境 成功一瞬間
BlogJava
聯(lián)系
聚合
管理
31 Posts :: 5 Stories :: 25 Comments :: 0 Trackbacks
常用鏈接
我的隨筆
我的評論
我的參與
最新評論
留言簿
(3)
給我留言
查看公開留言
查看私人留言
隨筆分類
(30)
flex(1)
Java(12)
Linux(10)
tuscany(1)
Web(6)
生活
隨筆檔案
(31)
2009年6月 (1)
2009年4月 (1)
2009年3月 (1)
2008年12月 (2)
2008年11月 (1)
2008年10月 (2)
2008年9月 (1)
2008年8月 (6)
2008年6月 (1)
2008年5月 (2)
2008年4月 (2)
2008年3月 (2)
2008年1月 (5)
2006年10月 (1)
2005年11月 (1)
2005年10月 (1)
2005年9月 (1)
文章分類
(1)
Java(1)
文章檔案
(5)
2005年10月 (4)
2005年7月 (1)
My links
jack.wang
Will Iverson's Blog
江南白衣
搜索
最新評論
1.?re: 判斷js函數(shù)是否存在,如果存在則執(zhí)行[未登錄]
嗯嗯
--aa
2.?re: 判斷js函數(shù)是否存在,如果存在則執(zhí)行
給力!
--你猜啊
3.?re: 感受dell 客戶關(guān)懷部的“關(guān)懷”與技術(shù)支持的“支持”(原創(chuàng))
我的1425的機子也一樣啊,藍屏,暗屏,鍵盤左上角熱的嚇人,找他們客服也沒人答理,太讓人失望了
--戴爾太令人人失戶了
4.?re: linux 下netbeans不能使用調(diào)試功能;tomcat shutdown出現(xiàn)拒絕鏈接(connection refused)提示
評論內(nèi)容較長,點擊標題查看
--找個美女做老婆
5.?re: 感受dell 客戶關(guān)懷部的“關(guān)懷”與技術(shù)支持的“支持”(原創(chuàng))
同樣的受害者,買了就上當了。唉總以為自己是最倒霉的,原來大家都差不多啊,沒有更好的辦法,算了吧,湊合著用,等下次更新的時候小心點就是了。如果要走維權(quán)的路,恐怕誰也耗不起。
--阿
閱讀排行榜
1.?判斷js函數(shù)是否存在,如果存在則執(zhí)行(7758)
2.?linux 下netbeans不能使用調(diào)試功能;tomcat shutdown出現(xiàn)拒絕鏈接(connection refused)提示(5189)
3.?document.body.scrollTop 值總為0的解決方法(轉(zhuǎn)載)(4218)
4.?感受dell 客戶關(guān)懷部的“關(guān)懷”與技術(shù)支持的“支持”(原創(chuàng))(3930)
5.?How to resovle "configure: error: C preprocessor "/lib/cpp" fails sanity check "(2911)
評論排行榜
1.?感受dell 客戶關(guān)懷部的“關(guān)懷”與技術(shù)支持的“支持”(原創(chuàng))(15)
2.?注意properties的使用(4)
3.?判斷js函數(shù)是否存在,如果存在則執(zhí)行(2)
4.?firefox 3下聽在線音樂 (1 聽)(1)
5.?linux 下netbeans不能使用調(diào)試功能;tomcat shutdown出現(xiàn)拒絕鏈接(connection refused)提示(1)
值得思考的問題
在jdon上看了一個帖子,感受頗深,有一種“一語驚醒夢中人”的感覺。
我們?yōu)槭裁催x擇spring(或者其他框架),為什么出現(xiàn)了IOC,AOP,ORM等等?簡單回答是“解決問題”,但他們解決不同的問題。
需要繼續(xù)思考一下,希望能有所“突破”
參考url:http://www.jdon.com/jivejdon/thread/35373.html
防止斷鏈,轉(zhuǎn)載如下:
轉(zhuǎn)載內(nèi)容
一晃眼搞了7、8年的企業(yè)應用管理和研究,各種技術(shù)、思想翻來覆去折騰了很久,最近總算是有點持撥云見目的感覺了,于是放出點大標題和各位論論道。
主要觀點其實在一年半前,已經(jīng)在jdon首發(fā)的文章“堅持發(fā)揚
EJB
、Spring的光輝思想,將組件化進行到底!”(可參 http://www.jdon.com/jivejdon/thread/31834.html)進行過論述。當時雖然觀點比較激烈,然實際上筆者領(lǐng)悟得不夠深刻,故有后面一年多的RoR和PHP之實踐。隨著時間的推移,與各相關(guān)方(上級領(lǐng)導、企業(yè)領(lǐng)導、用戶、開發(fā)商主管、設計人員、開發(fā)人員、維護人員等等)的更多觀點接觸,讓我逐漸深入領(lǐng)悟了Java和
Spring
所蘊含的開發(fā)哲學和思想,于是又有此文。
(上文剛剛收到blog,由于是老文,不再發(fā)布了,僅作為整理收錄)
如果說,每種編程語言和技術(shù)都有自己的目標和歸宿和話,那么簡單來說,JavaEE和后來的
Spring
是為企業(yè)應用而生的。他們誕生的基本目標,正是為了解決困擾企業(yè)應用多年的各種復雜問題。故而他們能夠達到現(xiàn)在的領(lǐng)導地位,并將一直延續(xù)下去。
世間各種事業(yè),都應該是“統(tǒng)一規(guī)劃,分步實施”。放到信息工程來說,就是“自頂向下設計,自底向上實現(xiàn)”。道理誰都明白,可現(xiàn)實當中執(zhí)行下來,總是要走樣。問題就在于,這二者該如何結(jié)合?于是實際項目中,企業(yè)用戶、分析師、設計師、程序員、維護人員總是不歡而散,最后往往各行其事,一盤散亂。上層的總是抱怨下層在“亂搞”,而下層則嘲笑上層只會“空談”。結(jié)果往往是早已扔進檔案袋的系統(tǒng)方案和圖表,一堆各種公司、各種程序的“系統(tǒng)”,蒙頭蒙腦瞎忙的維護人員。
那為什么結(jié)合不了?因為大家沒有“共同語言”。開初UML跳出來了,分析師講得頭頭是道,程序員看得心煩意亂,用戶更是云山霧水。于是連MF都有點煩了,干脆推起了RoR。這乍東西一看太理想了。幾乎是分析員可以直接實現(xiàn)程序,而程序員也可以直接分析了??上篱g難有完美的事物,RoR這種過于“ 霸道”的東西也許還是有問題的。前有foxpro,后有VB、PB,也許是筆者總是心有余悸,對這種過于“完美”的東西還是先放一放吧。
那是不是說,大家真的不可能有“共同語言”?筆者以為,有,但要折衷(又聞到了實用中庸主義的味道了吧)。如題,OO、DI、AOP、TDD和Refector正是當前的解決之道。
OO是根本,可以作為基本的“共同語言”。圖表不必要像UML那么復雜,否則最后除了分析師誰都不會看。只需要簡單建上模型,標上屬性和接口功能,最多連幾根線說明相互關(guān)系,這樣大家都懂(也就是說,這個類是個什么東西,有什么屬性,要實現(xiàn)些什么功能)。這種東西既可做系統(tǒng)說明書,也可以給開發(fā)人員,甚至生成Doc做維護文檔。
大家要說這不是“空談”嗎?要的就是空談(就好比不識字的老百姓也會談治國問題),就是只談“有什么”和“做什么”,這樣才能有共識。但這種“空談”其實最難最費時,因為要“共識”。有了共識之后就可以下一步了。
下一步是實現(xiàn)。這個階段,分層、DI、AOP就可以大展本領(lǐng)了。Spring流行那會,大家是言必DI和
AOP
。可惜風頭一過,現(xiàn)在RoR和
Seam
時尚年代,很多人大概忘了七七八八。其實筆者現(xiàn)在看來,分層、DI和
AOP
是繼
OO
之后最重要的思想,它們的核心在于“接口和實現(xiàn)分離”。這樣一來,就可以把“做什么”和“怎么做”分家,這才是它們的偉大之處。大家天天把“高內(nèi)聚、低耦合”掛在嘴邊,各搞一套,亂七八糟。J2EE太復雜,大家覺得用不上。好不容易Rod推行了用得上的標準方法,大家本可以有“共同語言”了。可惜人之天生的惰性又把我們推回到“一體化”的泥潭,一代代程序員和系統(tǒng)就這么不了了之了。
OO還是要堅持,它是當前信息世界和現(xiàn)實世界實現(xiàn)映射的最好方法。DI和
AOP
也是要堅持,只有這樣才能屏蔽掉具體實現(xiàn)技術(shù)瘋狂變化的信息世界。堅持
OO
,我們才能不受數(shù)據(jù)存儲方式變化的困擾;堅持分層、ID、AOP,我們才能明確地分工合作,擺脫系統(tǒng)規(guī)模和事務要求變化所帶來的煩惱。
最后還有TDD和Refactor,業(yè)務在變,系統(tǒng)在變,我們的技術(shù)也在變。一定要能測試和重構(gòu),要能很好地測試和重構(gòu),否則系統(tǒng)必被變化所毀。要想能夠很好地測試和重構(gòu),如果你的系統(tǒng)沒有
OO
、分層、DI、AOP,大家是否真可以充滿底氣地回答“能”。在這一個問題上,Java是最令我放心的伙伴,而
Spring
更總是帶來驚喜。
DDD(領(lǐng)域驅(qū)動設計)是一個好的設想,而如今像
Spring
這類的標準化框架則可以把這個設想變?yōu)楝F(xiàn)實。在這個設想里,管理人員、分析師和用戶定義模型功能要求,架構(gòu)師根據(jù)要求選擇技術(shù)方案,不同的程序員(有做dao的、做service的、做view的)根據(jù)接口要求實現(xiàn)代碼,通過測試后提交。而因為有支持分層、DI、AOP的框架存在(比如說
Spring
),布署人員就可以簡單地把他們組裝在一起。
面對不斷的需求變化,分析師仍然只需增加/變動模型和功能接口,測試人員和編程人員按作相應變化即可。
總體設計、分步實施、按需定制、分工合作、無縫組裝,這種工業(yè)標準化的軟件開發(fā)方式才是企業(yè)應用的答案。而
OO
、分層、ID、AOP、TDD和Refactor是真正支撐這個開發(fā)方式的支柱。以這樣的方式,DDD會真正成為現(xiàn)實。
信息發(fā)達國家的軟件業(yè)其實很大程度上已經(jīng)實踐了這種開發(fā)方式(想想那些大規(guī)模的外包吧)。這些年國內(nèi)搞Java的,張嘴閉口便是SSH。可惜很多人搞了一些年后,還是“不識廬山真面目”,成天抱怨“好煩”。在這樣浮燥的產(chǎn)業(yè)環(huán)境下,國內(nèi)大多數(shù)企業(yè)應用的質(zhì)量是低劣的。
即使你天天在寫Java、天天在用
Spring
,如果不能夠“知其所以然”,那么你的SSH注定是偷工減料的豆腐渣。所以在此勸諸位從事企業(yè)應用的同道,好好靜下心來,認真思考一下你的應用所面對的各種問題,再好好思考一下
OO
、DI、AOP、TDD和Refator給你帶來的福音。
愿大家的系統(tǒng)質(zhì)量都能更上一層樓,這樣才可變惡性競爭為良性合作,讓我國的信息系統(tǒng)發(fā)揮更大更好的作用。
posted on 2009-03-25 14:25
Joshua Yan
閱讀(199)
評論(0)
編輯
收藏
所屬分類:
Java
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發(fā)表評論。
網(wǎng)站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
相關(guān)文章:
linux 下netbeans不能使用調(diào)試功能;tomcat shutdown出現(xiàn)拒絕鏈接(connection refused)提示
值得思考的問題
寫cookie備忘
超越SOA:動態(tài)業(yè)務應用的新企業(yè)應用框架(2)轉(zhuǎn)載
超越SOA:動態(tài)業(yè)務應用的新企業(yè)應用框架(1) 轉(zhuǎn)載
最輕便的客戶端oracle instant client安裝備忘.(轉(zhuǎn)載)
解惑 spring 嵌套事務 (轉(zhuǎn)載)
struts2 error (轉(zhuǎn)載)
轉(zhuǎn)載:dW 中國 2007 年 TOP 10 最受歡迎的文章和教程
注意properties的使用
Powered by:
BlogJava
Copyright © Joshua Yan
主站蜘蛛池模板:
亚洲免费黄色网址
|
亚洲乱码一二三四五六区
|
美女啪啪网站又黄又免费
|
大地资源二在线观看免费高清
|
女人18毛片a级毛片免费
|
亚洲偷自精品三十六区
|
99re热免费精品视频观看
|
久久乐国产综合亚洲精品
|
日韩午夜免费视频
|
国产偷国产偷亚洲高清人
|
波多野结衣中文一区二区免费
|
国产亚洲男人的天堂在线观看
|
99视频在线免费看
|
亚洲成a人片在线观看播放
|
在线视频观看免费视频18
|
亚洲日韩乱码中文字幕
|
国产成人在线免费观看
|
一级毛片免费观看不收费
|
在线亚洲午夜理论AV大片
|
日韩免费在线视频
|
亚洲1234区乱码
|
国产a不卡片精品免费观看
|
污网站在线免费观看
|
亚洲国产精品一区二区第一页
|
18女人毛片水真多免费
|
久久久国产亚洲精品
|
亚洲天堂在线视频
|
久久久久久久岛国免费播放
|
亚洲免费二区三区
|
亚洲av手机在线观看
|
在线观看特色大片免费网站
|
亚洲午夜在线一区
|
免费大黄网站在线观
|
国产无遮挡裸体免费视频在线观看
|
亚洲国产成AV人天堂无码
|
免费国产a国产片高清
|
久久免费观看国产精品88av
|
亚洲国产成人久久精品软件
|
国产亚洲人成网站观看
|
国拍在线精品视频免费观看
|
一级特黄aaa大片免费看
|