1. 程式人生 > >事情其實很簡單

事情其實很簡單

當然這篇文章也是關於程式設計的, 在討論之前我們先看看什麼是複雜.
舉例來說:
複雜就是現階段市面上的設計模式圖書, 看了很多本還是看不懂.

我們先來分析一下上述的案例, 為什麼會變複雜?

  1. 大部分設計模式圖書都會在前兩章講UML, 其實這東西和設計模式沒什麼關係.UML是用來溝通的, 不是用來授課的. 你的注意力會被那些箭頭和方框給分散.
  2. 大部分設計模式圖書的作者會忘記了寫作的目的:教學. 就像課本分年級一樣, 這些作者們卻希望把設計模式用一本書教完, 顯然是不科學的.
  3. 大部分設計模式的圖書都不會提到:預備知識, 拿單例來說, 雙檢查鎖是多執行緒的問題, 不是設計模式的問題, 但是大部分書中都不會提到這些, 甚至把設計模式的精髓拋棄, 反而講起了實現執行緒安全的單例的幾種方式.

怎麼才能簡單化?

  1. 知道自己的目標, 設計模式就像資料結構一樣, 你學會它,瞭解它只是為了更好的應用它, 至於它怎麼實現的, 不是很重要. 類似於Java中的Collection框架, 在JavaEE中有CDI幫我們把建立型的設計模式基本都封裝好了, 而你要做的就是理解和應用.
  2. 遠離UML. UML對初學者弊大於利, 設計模式講的是如何將面向物件的的思想應用. 而UML卻要求你先看懂圖再學習思想, 而這些圖和思想是沒有關係的, UML只是面向物件思想的一個表現層而已, 程式碼也是. 對於程式設計師來說, 程式碼的表現力更強!
  3. 用設計模式的思想寫出最簡單的實現. 是的, 最簡單的! 學單例不是學多執行緒,沒必要為多執行緒考慮, 寫一個最簡單的實現就好了.
  4. 別帶著疑問離開. 當你有疑問時, 說明你沒有看到這個模式的本質, 它的最簡單的形式, 這時候就是你進步的時機.