Re: [分享] 面向對象編程從骨子裡就有問題

看板Soft_Job作者 (.)時間11年前 (2013/02/23 10:47), 編輯推噓3(309)
留言12則, 4人參與, 最新討論串6/12 (看更多)
說到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

02/23 10:51, , 1F
基本上,EJB 3 是因為 Hibernate 成功之後
02/23 10:51, 1F

02/23 10:52, , 2F
這群人才突然驚醒 EJB 1 與 EJB 2 的架構設計太過冗肥
02/23 10:52, 2F

02/23 10:53, , 3F
所以 EJB 3 規格時,根本就是直接抄 Hibernate
02/23 10:53, 3F

02/23 10:55, , 4F
而 Hibernate 的掘起,則是因為在當時沒有幾個好用的 ORM
02/23 10:55, 4F

02/23 10:55, , 5F
所以當 Hibernate 這個好物出現時,造成一股熱潮
02/23 10:55, 5F

02/23 10:56, , 6F
也使過去受 EJB 1/2 茶毒的 PG 大量倒戈至 Hibernate
02/23 10:56, 6F

02/23 10:58, , 7F
這是七八年前所發生的事,以七八年後的今天來看
02/23 10:58, 7F

02/23 10:59, , 8F
當然會發現它有不完美之處,但也是技術會隨時間進步的本質
02/23 10:59, 8F

02/23 13:57, , 9F
歡喜就好 +1
02/23 13:57, 9F

02/23 14:24, , 10F
我一直以為簡化版的ejb是spring qq
02/23 14:24, 10F

02/23 14:25, , 11F
qq是表情符號,打完發現怪怪的,註明一下...
02/23 14:25, 11F

02/25 20:06, , 12F
EJB 現身!!
02/25 20:06, 12F
文章代碼(AID): #1HA2tVtw (Soft_Job)
討論串 (同標題文章)
完整討論串 (本文為第 6 之 12 篇):
文章代碼(AID): #1HA2tVtw (Soft_Job)