看板 Soft_Job 關於我們 聯絡資訊
說到OOP精神的極致化,就不得不得提一下EJB這個龐大框架了了... 在J2EE的領域裡,EJB一直被視為重量級的應用, 似乎一個專案如果用了EJB身價就立刻變得不一樣,技術人員也以學會EJB為傲, 不管這樣的觀念是否正確,..... http://my.so-net.net.tw/idealist/EJB/index.html 不過實際上是 http://zh.wikipedia.org/wiki/EJB ,起初一些大公司紛紛採用EJB部署他們的系統。然而隨後各種問題便接踵而至, 對EJB的惡評短時間內激增。對於初學者,EJB的API顯得太過困難; 對於許多程式設計師來說, 書寫那些必須丟擲特定異常的介面並將bean類作為抽象類實作的做法既不直觀也不正常。 當然,EJB所被賦予的使命,如物件關聯對映和事務管理確實有其天然複雜性, 但其API之複雜還是令開發人員們覺得望而卻步, 一些人開始懷疑EJB除了引入了複雜的實作手段以外似乎並未帶來什麼實際好處。 另外,實際運用中被發現,如果使用EJB來封裝業務邏輯會帶來效能上的下降。 ejb在3.0後化繁為簡,我的短暫開發經驗是直接用3.0版本後, 不過還是覺得很囉嗦,特別是環境配置之類的問題,之後任務調動, 後面就不關我的事了 (方法等等都不是我決定的,我只是莫名其妙被拉過去支援一下) 結果就是使用ejb和jpa加上層層複雜的架構設計之下,用大砲打小鳥, 加上不是那麼純熟的設計技巧,以及沒有分散的硬體來支撐處理效能, 結果效能出問題.....現在好像是把問題推就到JPA框架上,大概認為是query效能問題, 所以準備改用nosql.(不過我強烈懷疑問題是出在哪裡的memory leak上, 至少就我當時的測試,一段時間後回應時間就慢下來,反正我不是那TEAM的人). 其實跟著技術上所謂的政治正確走,沒有考慮到環境條件.目地的適用性, 嘴巴上滿口引領潮流的新技術,通常就算成功,結果也頂多是普普通通..... OOP大概也是這麼回事,專案有大有小,規模差異不少, 如果考慮到大型專案多人分工的狀況,基於維護性的考量(不是效能喔...), 良好的層層架構包裝是需要的,那中小型專案呢? 中型可能有爭議, 先不談,一個人可以ko的小型專案,還把一些簡單到不行功能一層一層包上去, 考慮良好oo精神.未來擴充的可能性,明明簡單可以ko掉的東西, 為了保有oo的精神理念,程式碼量多了好幾倍,為了就是對oop嚴謹的"態度", 你信嗎? 很多人信,我是不信拉... 東西沒bug,早點丟出去,早點回家比較實際,我是這樣覺得. 所以一些技術文章對OOP的批評,我覺得就是類似的原因, 如果實際上沒好處也沒必要,堅持道地純正的OOP精神所求為何? 當你這樣說時,最有可能是被某些人說"我不認為你懂OO!", 算了不懂也沒差,歡喜就好. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.248.56.181
mgtsai:基本上,EJB 3 是因為 Hibernate 成功之後 02/23 10:51
mgtsai:這群人才突然驚醒 EJB 1 與 EJB 2 的架構設計太過冗肥 02/23 10:52
mgtsai:所以 EJB 3 規格時,根本就是直接抄 Hibernate 02/23 10:53
mgtsai:而 Hibernate 的掘起,則是因為在當時沒有幾個好用的 ORM 02/23 10:55
mgtsai:所以當 Hibernate 這個好物出現時,造成一股熱潮 02/23 10:55
mgtsai:也使過去受 EJB 1/2 茶毒的 PG 大量倒戈至 Hibernate 02/23 10:56
mgtsai:這是七八年前所發生的事,以七八年後的今天來看 02/23 10:58
mgtsai:當然會發現它有不完美之處,但也是技術會隨時間進步的本質 02/23 10:59
EJB:歡喜就好 +1 02/23 13:57
iceonly:我一直以為簡化版的ejb是spring qq 02/23 14:24
iceonly:qq是表情符號,打完發現怪怪的,註明一下... 02/23 14:25
remmurds:EJB 現身!! 02/25 20:06