設計模式(Design Pattern)一詞在程式設計中,指的是一種程式的架構和方法,講的白話一點,就像『通訊協定』一樣,程式設計師依照預先設計好的架構,在共同開發或維護時,可以有效的縮短撰寫及維護時間。
記得剛開始看設計模式相關的書,總覺得寫一隻簡單的程式為什麼要搞得那麼複雜,像是抽象類別和實做類別的分離、物件起始的技巧和介面的使用等,當時還覺得霧茫茫,但真正用上時,會覺得還挺好用。
在下的經驗,僅限於個人或是兩人共同開發,還未真正實戰於大型專案中,設計模式並不是很艱深的理論,而是一個概念,至於如何實做,端看每個人的使用情況。
舉例來說:在一個系統中,如果想要實做一個物件僅能被宣告一次,意即在記憶體中只有一個副本(Instance),僅需將物件的建構式設為私有或保護(private or protected),並使用靜態公開函式如:
class Foo {
private static Foo self = new Foo();
public synchronized static Foo getInstance() {
return self;
}
private Foo() {}
}
以上述程式,藉著呼叫getInstance(),可確保Foo僅能被起始一次。
在設計模式中,此方法即所謂的單例(Signleton),在個人或是多人開發環境都相當有用,以個人來說,可避免重複宣告造成浪費記憶體,或避免重複性模組物件的起始問題。
設計模式已廣泛的使用於專案的開發上,使用設計模式的專案較易於管理及維護,如需詳細的設計模式資料,可參考:
[1] Design Pattern入門-單例
[2] Joshua, "Chaper 2. Creating and Destorying Objects," Effective JAVA: Programming Language Guild, pp. 15-17, Jun. 2001
請先 登入 以發表留言。