網頁

搜尋此網誌

2009年3月28日 星期六

Design Patterns 物件導向設計模式

起因於"大話設計模式"一書,我將重新學習 Design Pattern (設計模式)這項觀念,對於資訊工程類科的學生可能不陌生,但是對於一直都主修電機工程 (Electrical Engineering, EE) 的我而言是不熟悉的觀念,雖然說現在 EE 和 Information 好像沒什麼清楚的界線,這不是重點。希望你和我不懂 Design Pattern 的人,都可以互相學習這項觀念。

必須注意到:設計模式僅適用於「物件導向程式語言」,像是 C++、Java、C# 之類的程物件導向程式語言,設計模式的目的在於設計可再利用 (reusable) 的物件導向軟體

參考書籍有兩本:

1.第一本物件導向設計模式,這是台灣培生教育出版,定價550元,我在天瓏買的。
Gamma, Helm, Johnson, Vlissides著,葉秉哲譯,物件導向設計模式:可再利用物件導向軟體之要素,台北:台灣培生教育,2001。譯自:Design Patterns: Elements of resuable object-oriented software

2.第二本大話設計模式,這是悅知文化出版,定價620元,我在天瓏買的。網路上更便宜,因為我買貴了...。

程杰,大話設計模式,台北:精誠資訊(悅知文化),2009。

第二本"大話設計模式"可以說是我們正常人比較容易看懂得,而第一本"物件導向設計模式"看了會難懂,玄之又玄還是玄,玄到萬惡深淵裡面去了。可能是我的程式基礎不夠的關係,也好,就此有動機來學學這種觀念,看看能不能又得""。

"大話設計模式"作者的BLOG:http://cj723.cnblogs.com/

設計模式 (Design Patterns) 分成三大類共23種模式:(後面的符號<>中,表示模式的分類標準;符號[]中,表示大話設計模式的章節)

生成模式(Creational Patterns)<目的>
  • Abstract Factory<物件>抽象工廠模式[第15章|就不能不換嗎?—抽象工廠模式]
  • Builder<物件>建造者模式[第13章|好菜每回味不同—建造者模式]
  • Factory Method<類別>工廠方法模式[第08章|南丁格爾依然在人間—工廠方法模式]
  • Prototype<物件>原型模式[第09章|履歷影印—原型模式]
  • Singleton<物件>獨體模式[第21章|有些類別也需計畫生育—獨體模式]
結構模式(Structural Patterns)<目的>
  • Adapter<物件><類別>轉接器模式[第17章|在NBA我需要翻譯—轉接器模式]
  • Bridge<物件>橋接模式[第22章|手機軟體何時統一—橋接模式]
  • Composite<物件>組合模式[第19章|分公司=一部門—組合模式]
  • Decorator<物件>裝飾模式[第06章|穿什麼有這麼重要?—裝飾模式]
  • Facade<物件>外觀模式[第12章|多頭市場股票還會虧錢?—外觀模式]
  • Flyweight<物件>享元模式[第26章|專案多也別傻傻做—享元模式]
  • Proxy<物件>代理模式[第07章|為他人做嫁衣—代理模式]
行為模式(Behavioral Patterns)<目的>
  • Chain of Responsibility<物件>職責鏈模式[第24章|加薪非要老總批?—職責鏈模式]
  • Command<物件>命令模式[第23章|烤羊肉串引來的思考—命令模式]
  • Interpreter<物件><類別>解譯器模式[第27章|其實你不懂老闆的心—解譯器模式]
  • Iterator<物件>迭代器模式[第20章|想走?可以!先買票—迭代器模式]
  • Mediator<物件>仲介者模式[第25章|世界需要和平—仲介者模式]
  • Memento<物件>備忘錄模式[第18章|如果再回到從前—備忘錄模式]
  • Observer<物件>觀察者模式[第14章|老闆回來,我不知道—觀察者模式]
  • State<物件>狀態模式[第16章|無盡加班何時休—狀態模式]
  • Strategy<物件>策略模式[第02章|商場促銷—策略模式]
  • Template Method<物件><類別>範本方法模式[第10章|考題抄錯會做也白搭—範本方法模式]
  • Visitor<物件>訪問者模式[第28章|男人和女人—訪問者模式]
上述中文是從"大話設計模式"中整理出來的,請參考。另外依照Design Patterns的導讀來看,上述藍色字體的樣式式較簡單、最常見的模式,作者建議先從這8個先著手。

另外,大話設計模式中,總共29章,總共有23個設計模式,沒有專門講述特定設計模式的章節有:(提供大家閱讀的參考)
  • 第01章|程式碼無錯就是優?—簡單工廠模式
  • 第03章|拍攝UFO—單一職責原則
  • 第04章|升學求職兩不誤—開放-封閉原則
  • 第05章|會修電腦不會修收音機?—依賴倒轉原則
  • 第11章|無熟人難辦事?—迪米特法則
  • 第29章|OOTV杯超級模式大賽—模式總結
詳細的內容說明,請大家去閱讀這兩本書。推薦推薦!這不是廣告...

###

2 則留言:

  1. 政遠~
    我是柏伸學長~
    最近過的好嗎?
    我最近從圖書館借了你捐贈的"大話設計模式"
    正在研讀中...
    希望能對我在程式設計上會有所幫助~
    祝福你 工作順利!

    回覆刪除
  2. 學長,工作一切順利,每天都在學習跟進步,
    「大話設計模式」寫的不錯,淺顯易懂,
    我最近也剛剛再次拿起,因為想把軟體專案規劃好一點,
    當時看不懂的地方,現在寫起程式都開始有所體悟了,
    除了閱讀之外,動手也是必要的歷程,
    祝你撰寫程式的功力步步高升!

    後續有好的書籍,我也會繼續捐贈,
    希望我的存在對北科大的學生都有所幫助。

    回覆刪除

熱門文章