1. J2EE是規范,是一種JSR標準,有詳細文檔,闡述J2EE提供哪些功能,可以下載這樣文檔,當然還有一些代碼接口,這是典型Java世界中的框架代碼+標準文檔形式,這是只有自由世界才有的規范,在微軟MS世界你是絕對不會看到的,所以,從微軟轉過來的,會暈,會不適應,不能再按照他們以前的經驗來看待自由的新世界。
2.架構是就軟件平臺的搭建和設計規劃,目的是實現軟件最大的可維護性和可拓展性,延續軟件的生命,就象人生下來,整個架構都有了,雖然一些器官不能用到(例如生殖器官),但是一生下來還是有這些器官,這就是架構設計的優勢,沒有架構設計的軟件是看不到明天,生下的小孩就不會有生殖器官,因為他認為小孩不需要,但是他沒有看到小孩20歲以后的未來。
架構就是要有預見性,特別是Java世界,技術流派眾多,優劣共存,讓人吃藥的技術比比皆是,不象微軟世界,有微軟這個專制強權的架構設計者和提供者告訴你用什么,除此之外別無選擇,在Java自由世界,你可能不小心走上一個不歸路,軟件架構一旦錯誤,就象出發的方向發生問題,南轅北轍成語就是說這個意思,花再多精力再多錢,再強的人都沒有用,項目照樣失敗。
所以,在Java世界選擇技術,就象女孩子到自由市場淘貨,必須冒被騙失敗的風險,但是其中樂趣也是不言而喻的,你會成為技術專家,當然,如果你想很多找到合適的架構設計,那么借助外力,象J道都提供這樣架構設計服務,可以在短時間介紹一些這個自由市場哪些東西是性價比好,值得買,找個有信譽的內行當地人做咨詢,就是這個道理。
目前Java世界,架構設計主要是框架選擇,如果你的團隊非常弱,可能只會基礎的Java編程,那么選擇強制性框架就比較好,這樣可以在保證軟件質量情況下,不讓不太懂的人胡作非為,破壞軟件整體的可維護性,好的框架甚至只需要XML配置就可以,這樣,OO能力差一些人,就不需編程代碼,配置配置XML就可以,這樣,通過架構設計,可以充分發揮現有人員的長處,克服他們的短處。
所以,為什么過去數據庫專家DBA年薪20萬,而現在架構師年薪20萬。而且DBA年薪20萬已經成為過去時,因為人們已經發現,再好的數據庫設計,只是數據庫設計,不是程序語言設計,更多維護煩瑣和復雜工作我們是需要修改的程序代碼,所以,大家才開始重視應用程序代碼,并且發現程序代碼控制比數據庫設計更難控制,所以有了OO體系專門對付程序代碼,進而有了框架,從而誕生比DBA更重要的architect了。
3.關于struts重要性,還是必須從程序代碼可維護性來講,也就是從OO角度講,Struts能夠通過MVC模式將表現層進行細分,實現表現層內部各個細分部分的最大解耦,然后,Struts也可以將頁面離散無規律的數據轉變為對象,供業務層服務,也就是Struts表現層實際是業務層的服務者,為其提供對象化的槍支彈藥,而業務層則可以圍繞這些對象實現對象化編程,從而實現更好的可維護性,Evans DDD對業務層進行細分,這些都是基于對象基礎,當然持久層不用說,和表現層一樣也是業務層的服務者,為其提供對象化的槍支彈藥,不過這些對象是從數據庫里拿來的,是從一個非對象化,離散的、關系型的數據庫拿來的,Hibernate等框架必須將他們轉為對象,給業務層使用。
所有這些框架,都是保證我們業務邏輯完全OO,這個前提是:你相信只有OO才是目前實現軟件最大維護性和拓展性的適當方式,雖然可能不是最好的,但他是目前最合適的,否則全世界軟件工業不會花這么多力氣在OO上了。
因為我們國內將軟件看成數學,軟件論文實際是數學公式論文,可以發生了軟件研究方向的偏離,沒有走上OO正確研究方向,這樣導致很多程序員學校畢業后,根本沒有OO基本意識,甚至有人抵觸OO,我從出版社內部銷售資料看到:Foxpro等數據庫書籍名列銷售前列,我是欲哭無淚,中國人的軟件誤區中還要走多少年。
所有這些,必須從我們教育體系尋找,這里面話題太多,我想其中一個問題還是:中微軟毒太深,因為微軟已經幫你做了架構的事情,你唯一要做的就是拿來某個軟件,按照其說明書做,但是為什么這么做,幾乎沒有人去研究。
長此以往,很多人就根本沒有了去探索的想法,安之羅素了,然后開始研究數學了,認為數學越奧深,軟件就好,數學只是算軟件服務的眾多專業領域的一個領域,軟件可以服務于管理專業、物流專業、銀行專業、財會專業等等,軟件可以服務這么多領域專業,那么軟件本身應該如何做才是專業的呢?就是軟件的可維護性和可拓展性,你必須活得夠長,為你的主人服務,如果你一開始沒有生殖器官,那么20歲以后你不是沒用了,人就此絕種了?
軟件絕種就是重新開發一套新的系統,這樣做,對它所服務對象的殺傷力是很大的,國外大型企業信息主管已經深有體會:硬件落后了,我可以花更多錢替換,但是軟件不能徹底替換,只能在其原來基礎上延伸,但是如果發現這個軟件不能延伸,就是請bill gates來,也沒有用,那么這種損失是無以倫比,不能用金錢衡量的,這就是軟件架構失敗帶來的損失。
因為我們國家長期來都是國有經濟,能夠活上百年的民營企業不多,國有銀行等大型企業因為開始就請外國人做咨詢,雖然也有徹底換軟件的痛苦,但是有強有力國外廠商這些過來知道,彎路就是有不會太大。很多大型企業也是近期才上MRP或者ERP,民營企業基本都靠低廉的勞動力存活,不是靠管理,所以軟件對于他們沒有起到重要作用,所以,因為軟件架構問題暴露的社會問題不會大規模出現,但是,如果不重視,遲早會出現。
我本人因為做得比較早,經歷過因為不注重軟件架構,導致方向錯誤,最后項目失敗了才明白得經歷。所以希望通過J道這樣地方,呼吁更多人重視架構。
但是,現在又有一種現象:有些人嘴上架構框架很熟悉,但是實現起來代碼還是亂糟糟,根本不是OO,這就象練武功的人,如果不經過有經驗老師的點撥,靠自己看書,就會十分業余,具體表現就是嘴上功夫行,實際做起來不行,也就是他沒有將理論和實踐聯系起來,就差這個窗戶玻璃紙捅破,需要別人幫助,所以我提供培訓咨詢服務,沒有教授高深知識,就是幫助你捅破窗戶紙,但是,靠自己,什么時候能通,說不定呢,項目不等人,當然經常來Jdon論壇也可以看到大家這方面討論。
說太多,有感而發,個人意見,僅供參考。