2014年5月1日 星期四

Design Patterns(0)-初談

在學習Object-Oriented programming時,不免會學到Design Patterns,這在程式的設計上可說是非常重要且有用的概念,如何思考程式的設計一直是很重要的事情,雖然大多人在寫程式時都會忽略它的存在...,利用現在在學JAVA機會,把這東西也搞到手!

主要從Gof的著作--
Design Patterns Elements of Reusable Object-Oriented Software
來做學習


先說明會什麼Design Patterns會被這麼看重,其實主要的原因很簡單
->不重造車輪

我們寫程式所遇到的百百種問題,其實可以都已經被前人給歸納成好幾類,他們利用這幾類問題設計了幾種良好Patterns來做解決,所以只要遇到這些問題就用相對應的Patterns來解決

這樣的好處是
1)不用再為這些問題想新解法
2)他人方便閱讀程式,較易維護


書中介紹了23種Patterns,主要分為三類
1)Creational -- 注重於物件的建立、管理
     Abstract Factory
     Builder
     Factory Method
     Prototype
     Singleton

2)Structural -- 注重於物件間的組成結構,如何利用繼承、實現來使程式更加健壯
     Adapter
     Bridge
     Composite
     Decorator
     Facade
     Flyweight
     Proxy

3)Behavioral  -- 注重於物件間的合作,有良好的互動才能有良好的執行效率
     Chain of Responsibility
     Command
     Interpreter
     Iterator
     Mediator
     Memento
     Observer
     State
     Strategy
     Template Method
     Visitor

接下來就是花點時間學習一下這些東西


沒有留言:

張貼留言