2015年10月3日 星期六

Why Design Pattern ?

身為一個軟體工程師
為什麼要學Design Pattern ?
它有什麼好處?
學生時期老師都沒有教
它可能不太重要吧

後來進了業界工作
只有在比較嚴格的code review
才會考慮到這個東西一點點

但大多數的同事寫code 還是帶有自已的風格
即你寫一套style , 我寫一套style
你怎麼說同事寫的code 是錯呢??

之後看了一些書
才了解

為了要讓相同的程式可以reuse

為了架構好擴充、好maintain

為了可以一眼看出別人的架構設計

學 OOP and Design Pattern 是不可或缺的


它有什麼好處呢??
對軟體最重要的部分是:

  1. 寫的程式架構簡單 => 複雜的程式,就算寫的再快,也沒人看的懂
  2. 看 code 可以比較快 => 因為function 寫的短,比較好懂
  3. 加新的feature 不會影響到舊的功能 => 利用open close principle (OCP)
  4. 修改容易變動的功能可以改的更快 => 減少時程開發,就是減少成本
  5. 增加產品的生命,降低Redesign 的頻率 => 利用 adaptor and decorator pattern 去達成