這學期剛上完Design Pattern的課程,使用的教科書是 J. Vlissides. 1998. Pattern Hatching: Design Patterns Applied. Addison-Wesley Longman Ltd. 這本書的作者跟老師是很好的朋友,Gang of Four之一,作者提到書中所有的設計都離不開兩大宗旨, Favor object composition over class inheritanceProgram to interface not implementation ,這篇會稍微介紹紀錄一下兩個要點目的是什麼,之後再慢慢介紹其他的pattern。

 

Favor object composition over class inheritance

當需要重用程式碼時,比較好的方法應該是利用 Composition 而非 Inheritance,利用 Composition 物件只會透過自己 interface 訪問自己的功能,不會打破封裝,關聯性也較低。

 

Program to interface not implementation

不要將變數宣告為特定具體的類別,而是要定義為抽象類別的 interface若是使用繼承,子類別實作的行為必須要與父類別或是介面所定義的行為一致,並且子類別要能夠完全取代掉父類別,也因為如此,只要知道interface就可以統一接口,對所有的子類別進行操作。

 

 

 

 

arrow
arrow
    全站熱搜

    橘子亂說話 發表在 痞客邦 留言(0) 人氣()