堅持發揚EJB、Spring的光輝思想,將元件化進行到底!
好大的標題,看似又一篇炒作濫文,其實是筆者近兩年對軟體架構痛苦思索徘徊後所得的經驗體會,在此與諸位共勉。
EJB、Spring,這不是Java界最有名的兩大冤家,何以把它們扯在一起。其實Spring乃是EJB1.x、2.x的繼承者,正如EJB之前的COM、CORBA。他們的思想一脈相承,那就是企業級的元件化思想,也可稱之為理想!
一、非元件化的國內軟體行業
各個行業的企業總有一些核心業務,長久保持不變,新時期的新業務基本上都是圍繞核心業務展開。很長時間以來,IT技術的變化與企業業務的擴充套件存在著很大的矛盾。當企業的新業務開展之後,如何保證原有業務穩定執行的同時,新業務能夠得到IT的支援與擴充套件?當IT技術有重大進展後,如何保證原有業務的同時進行新技術改造?在以上兩種運動中,如何重用原有的技術成果?這是每一位負責任的系統管理員、CIO與及開發商所關心的事情。遺憾的是,元件化思想及實踐產生以前,這個矛盾基本上是極難解開的死結。絕大多數的做法就是重寫。
譬如DOS時代,很多單位都使用了單機foxbase版的財務系統,介面雖簡但穩定實用;到了Windows時代,流行VB、PB,於是系統重寫;再到B/S時代,系統再次重寫;到最近熱炒的RIA,系統是不是要再次重寫?對於很多小產商的作品而言,答案肯定是Yes。
很多同道可能會說,這樣正好啊?我們才可以不斷地賺錢。錯!
這樣的狀況叫“低水平重複”,這個術語經常被國人用來痛斥社會經濟領域的很多不合理現象。可惜我們這個自認為高智力的行業,很多時候就是在幹這種愚事。每到技術革新,各企業要重花一次錢、重學一次操作、重轉一次資料,折騰得半死;而適應不了新技術的產商,隨被淘汰的程式碼一同退出市場;適應不了新技術的程式設計師,只能轉行。要想不被淘汰,就必須緊跟時代風潮,不停地把精力放在新技術上,在領會業務上花的時間太少,最後導致我們的系統與企業的業務總是差半拍。因為原先快把業務搞清楚的程式設計師大多升官或離職了。
筆者以為這是軟體界,尤其是國內軟體界混亂的根本技術原因。由於技術長期得不到積累,我們不得不一次又一次吃外國的人剩飯。
那我們終究需要怎樣的軟體才能解決這些問題。
其實答案早就在我們身邊晃了太多年,偏偏我們視而不見。大家接個新外設,要不要換主機?加根記憶體條、換塊顯示卡、音效卡要不要換主機板?OS是不是隻能用幾個特定的硬體,跑幾個特定的程式?而大家在OS下寫的程式,是不是在系統新版本執行不了?答案基本上是否定的。
OS可以適應全世界數以萬計的程式及其發展,為什麼我們的應用程式不能適應哪怕一個特定單位的變化和發展。為什麼我們的應用系統到了新環境下就要重寫?
原因就在於我們大多數應用程式規範性太低、耦合度太高。
要提高規範性、降低耦合度,就要不斷地設計、不斷地分層、不斷地抽象、不斷地重構。當我們終有一日把有用和成熟的程式碼封裝成jar或是dll,不僅自己能重用,別人也能重用的時候,程式碼其實才算合格。
現在大家都習慣用開源產品了,外國人熱衷的就是不斷地製造這樣的零件(元件)或技術。而我們中國人,熱衷的卻是組裝人家的零件和技術(一如其它涉及技術的產業)。很多外國人十多歲就做出了了不起的元件,而我們中國人卻把“不重複發明輪子”這種搬來的話掛在嘴在,結果是既不製造舊輪子,更沒有能力發明新輪子。很多人從業十多年都寫著亂糟糟程式碼。
專案,不是說東西扔到客戶手上套足了錢,拍拍屁股就走人。成功的專案,要對客戶負責任。就算自己退了,也該把工作交接好。前面的工作成果後面用不上,只能說前面的工作不合格。
國內應用軟體界一直在走RAD的道路,一開始吃著爽,越到後面越不是滋味。不是說RAD不能用,而是說,一上來就RAD,註定被養成懶漢,早晚淪落成編碼機器。RAD誘使我們逃避思考,誘使我們逃避設計,最終讓我們被早早淘汰!
EJB、Spring,這不是Java界最有名的兩大冤家,何以把它們扯在一起。其實Spring乃是EJB1.x、2.x的繼承者,正如EJB之前的COM、CORBA。他們的思想一脈相承,那就是企業級的元件化思想,也可稱之為理想!
一、非元件化的國內軟體行業
各個行業的企業總有一些核心業務,長久保持不變,新時期的新業務基本上都是圍繞核心業務展開。很長時間以來,IT技術的變化與企業業務的擴充套件存在著很大的矛盾。當企業的新業務開展之後,如何保證原有業務穩定執行的同時,新業務能夠得到IT的支援與擴充套件?當IT技術有重大進展後,如何保證原有業務的同時進行新技術改造?在以上兩種運動中,如何重用原有的技術成果?這是每一位負責任的系統管理員、CIO與及開發商所關心的事情。遺憾的是,元件化思想及實踐產生以前,這個矛盾基本上是極難解開的死結。絕大多數的做法就是重寫。
譬如DOS時代,很多單位都使用了單機foxbase版的財務系統,介面雖簡但穩定實用;到了Windows時代,流行VB、PB,於是系統重寫;再到B/S時代,系統再次重寫;到最近熱炒的RIA,系統是不是要再次重寫?對於很多小產商的作品而言,答案肯定是Yes。
很多同道可能會說,這樣正好啊?我們才可以不斷地賺錢。錯!
這樣的狀況叫“低水平重複”,這個術語經常被國人用來痛斥社會經濟領域的很多不合理現象。可惜我們這個自認為高智力的行業,很多時候就是在幹這種愚事。每到技術革新,各企業要重花一次錢、重學一次操作、重轉一次資料,折騰得半死;而適應不了新技術的產商,隨被淘汰的程式碼一同退出市場;適應不了新技術的程式設計師,只能轉行。要想不被淘汰,就必須緊跟時代風潮,不停地把精力放在新技術上,在領會業務上花的時間太少,最後導致我們的系統與企業的業務總是差半拍。因為原先快把業務搞清楚的程式設計師大多升官或離職了。
筆者以為這是軟體界,尤其是國內軟體界混亂的根本技術原因。由於技術長期得不到積累,我們不得不一次又一次吃外國的人剩飯。
那我們終究需要怎樣的軟體才能解決這些問題。
其實答案早就在我們身邊晃了太多年,偏偏我們視而不見。大家接個新外設,要不要換主機?加根記憶體條、換塊顯示卡、音效卡要不要換主機板?OS是不是隻能用幾個特定的硬體,跑幾個特定的程式?而大家在OS下寫的程式,是不是在系統新版本執行不了?答案基本上是否定的。
OS可以適應全世界數以萬計的程式及其發展,為什麼我們的應用程式不能適應哪怕一個特定單位的變化和發展。為什麼我們的應用系統到了新環境下就要重寫?
原因就在於我們大多數應用程式規範性太低、耦合度太高。
要提高規範性、降低耦合度,就要不斷地設計、不斷地分層、不斷地抽象、不斷地重構。當我們終有一日把有用和成熟的程式碼封裝成jar或是dll,不僅自己能重用,別人也能重用的時候,程式碼其實才算合格。
現在大家都習慣用開源產品了,外國人熱衷的就是不斷地製造這樣的零件(元件)或技術。而我們中國人,熱衷的卻是組裝人家的零件和技術(一如其它涉及技術的產業)。很多外國人十多歲就做出了了不起的元件,而我們中國人卻把“不重複發明輪子”這種搬來的話掛在嘴在,結果是既不製造舊輪子,更沒有能力發明新輪子。很多人從業十多年都寫著亂糟糟程式碼。
專案,不是說東西扔到客戶手上套足了錢,拍拍屁股就走人。成功的專案,要對客戶負責任。就算自己退了,也該把工作交接好。前面的工作成果後面用不上,只能說前面的工作不合格。
國內應用軟體界一直在走RAD的道路,一開始吃著爽,越到後面越不是滋味。不是說RAD不能用,而是說,一上來就RAD,註定被養成懶漢,早晚淪落成編碼機器。RAD誘使我們逃避思考,誘使我們逃避設計,最終讓我們被早早淘汰!
相關文章
- vue元件化思想Vue元件化
- 未被定義的 “智慧座艙”,如何將產業化進行到底產業
- 窺見AI工業化開發黎明:華為雲如何將AI進行到底AI
- 元件形式來分析 Laravel 思想 持續更新中元件Laravel
- Android元件化開發實踐(一):為什麼要進行元件化開發?Android元件化
- Spring Boot整合Spring Cloud Commons進行公共元件管理Spring BootCloud元件
- 葵花葯業關一總裁堅持持續創新,帶領企業主動進化
- 我兩年的堅持,值了!
- ejb
- 封神SLG《朝歌》,誓將“降肝降氪”進行到底
- ① EJB無狀態的bean(建立EJB的基礎教程)Bean
- 電感行業,在困境中堅持品質行業
- 4年發行40餘款產品,極光計劃堅定創新品類發行賽道
- Spring大事務到底如何優化?Spring優化
- 3.每天堅持要做的事情
- THT元件和焊點進行3D AOI光學檢測元件3D
- Vue核心思想:資料驅動、元件化Vue元件化
- 這場持續3年的“吃雞”,終將繼續進行(上)
- 這場持續3年的“吃雞”,終將繼續進行(下)
- 華熙趙燕堅持將藝術和大眾生活融合
- AE真實輝光特效外掛:Real Glow mac漢化版特效Mac
- vue輕量高效的前端元件化方案以及MVC MVVM思想Vue前端元件化MVCMVVM
- 華為雲打造雲原生基礎設施新正規化,將“創新普惠”進行到底
- 綠馳汽車堅持高質量發展 資金鍊建設同步推進
- 對話楊傳輝:國產資料庫新戰績背後,OceanBase堅持自研的初心與決心資料庫
- vue父元件和子元件的生命週期到底誰先執行?Vue元件
- 有道AI詞典筆的200萬師生:你所堅持的,終將照亮我AI
- Spring系列第七講 自動注入(autowire)詳解,高手在於堅持!Spring
- 銀行業如何持續推進數字化轉型行業
- 如何在 ThreeJS 中實現輝光效果JS
- 如何快速開始進行echart元件開發元件
- goCms-持續更新,希望能堅持下去Go
- 【2024-05-23】堅持中庸
- 身無長物,唯有堅持
- 堅持就會有回報
- 百度Visual DL全新升級 誓將“簡單易用”進行到底
- 五個月的堅持,不負年華
- 這行業真的是有點堅持不下去了行業
- 百錢買百雞(列舉思想編寫,並進行3次優化)優化