bran wrote:
請問一下,如果要針對oo部份加強,...(恕刪)

請問你擅長的語言為何?
如果是 java 的話,在下覺得有幾本書(中譯)相當有幫助可以推薦。
martin0215 wrote:
請問你擅長的語言為何...(恕刪)

程式語言我是從c開始學。
oo的部份我是從java開始接觸到,可是說不上會。
有推薦的書可以增加功力嗎?
bran wrote:
oo的部份我是從java開始接觸到,可是說不上會。...(恕刪)

我本身早期學資料結構&演算法是用 Pascal ,後來用 java 開發 web-based 的應用,
也跟你一樣不知道該如何寫 OO,(寫了近兩年 jsp 之後)看了這本
Java Multithread Design Pattern-Java多執行緒與平行處理
才瞭解如何使用 design pattern 的方式去解決問題,同時也熟悉 UML 的應用。
這本書可以瞭解物件互相運作的型態,但是還不太需要用到「繼承」的技巧,
因此如果看懂這本書的前 1/2 (因為後半的 thread 技巧頗複雜,我大概讀了三遍把它們全看懂),
就應該可以熟悉「用物件的角度去解決問題」(還沒達到 OO 的程度,要底下那一本)。
我實際的專案中有用到其中的「Single Threaded,Guarded Suspension,Read-Write Lock,
Thread-Per-Message,Worker Thread,Future,active Object」這幾個 pattern,
如果沒有這本書,我大概已經被客戶吊死了...

這是一個日本人(結城 浩)寫的書,寫作非常嚴謹,不僅有例題、還有習題,
每一道習題在書後都有「解答」(不是只有答案而已),解答完還有衍生思考,
認真看過之後收穫不少。翻譯也很到位,頂多只有少少注音打錯字的小問題。

繼續發現他也寫了 Design Patterns於Java語言上的實習應用 增訂第二版
因為有了前一本書對 UML 的熟練程度,讀這本書相對輕鬆很多。
讀懂這本書能讓人知道如何看出問題的型態並轉化成哪一種 pattern 來處理,
使用這裡的 pattern 解決問題的過程就會建立「繼承」跟「多型」真正的瞭解,
如果看懂了,那你就會 OOP 了。
順道還可以瞭解一些工具或 framework 的運作機制,因為大家都是用這些 pattern 來設計的,
例如學會 Decorator 就知道 java.io 是搞什麼鬼、我沒看懂 Visitor 之前總是看不懂 SAX2 要怎麼寫、
所有的 event-driven 都是 Observer pattern.. 等等,
至於 OOA & OOD 的書,我也還在尋找,底下第三本書有一點涉獵到。

在 amazon 看到一本書「 Java Objects」評價不錯, 發現有中譯本Java Objects 徹底研究
裡頭的 java 語法介紹得相當簡單,不過對於如何分析問題、需求,再轉化成設計並實作出來,
讀起來比坊間總是用 ATM 系統當例子來教的那些書有感覺得多,
雖然有一千多頁,算蠻好讀的,只是還算太淺了點。

希望這些心得對你有些幫助。
文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!