JAVA設計模式初探之裝飾者模式

定義:動態給一個對象添加一些額外的職責,就像在牆上刷油漆.使用Decorator模式相比用生成子類方式達到功能的擴充顯得更爲靈活。
設計初衷:一般能夠使用繼承來實現功能的拓展,若是這些須要拓展的功能的種類很繁多,那麼勢必生成不少子類,增長系統的複雜性,同時,使用繼承實現功能拓展,咱們必須可預見這些拓展功能,這些功能是編譯時就肯定了,是靜態的。設計

 要點: 裝飾者與被裝飾者擁有共同的超類,繼承的目的是繼承類型,而不是行爲
 Java 的I/O API就是使用Decorator實現的。對象

相關文章
相關標籤/搜索