Java 設計模式 20 裝飾模式

2021-08-14 20:59:09 字數 678 閱讀 2867

package cn.et;

//遠端**

public inte***ce rangedweapon

package cn.et;

//炮public class cannon implements rangedweapon

}

package cn.et;

//槍public class gun implements rangedweapon

}

package cn.et;

/*裝飾模式:

裝飾模式就是使用被裝飾類的乙個子類的例項,在客戶端將這個子類的例項

交給裝飾類。是繼承的替代方案

優點:可以提供比繼承更靈活的擴充套件物件的功能,它可以動態的新增物件的

功能,並且可以隨意的組合這些功能

缺點:正因為可以隨意組合,所以就可能出現一些不合理的邏輯

*/public class precise implements rangedweapon

public void run()

}

package cn.et;

public class checkout

}

Java設計模式之20 裝飾模式(1)

裝飾模式是一種結構型設計模式。其使用一種對客戶端透明的方式,來動態的擴充套件物件的功能。同時,它也是繼承關係的一種替代方案之一。定義 動態地給乙個物件新增一些額外的職責。就增加個來說,裝飾模式比生成子類更為靈活。所以,我們可以在需要透明而且動態地擴充套件類的功能時,所以裝飾模式。1 建立乙個被裝飾的...

Java 設計模式 裝飾模式

看了大話設計模式此章節多遍才稍微有點理解,特此記錄。深入淺出,通俗易懂。情景 小菜要去見未來女友 嬌嬌,來個服裝打扮的設計。第一彈 客戶端 public static void main string args 問題來了,嬌嬌喜歡超人,小菜這次想穿的是超人,咋辦?直接修改小菜的類嗎?這就違背了開閉原...

java設計模式 裝飾模式

什麼是裝飾模式 裝飾模式就是動態的為乙個物件新增新的功能,它是一種代替繼承的技術,毋須通過繼承增加子類就能拓展物件功能的模式。開發中應用場景 1.io流中,設計的輸入和輸出 2.servlet api提供的乙個re quest物件的decrator模式的預設實現類httpservletrequest...