Design Pattern 裝飾者模式

2022-06-09 16:30:12 字數 913 閱讀 2726

動態地將責任附加到物件上,若要有擴充套件功能,裝飾者提供了比繼承有彈性的替代方案。

咖啡類,可以加調料,計算**

//讀取當前流中的下乙個位元組、並以整數形式返回、若讀取到檔案結尾則返回-1。

public int read() throws ioexception

//將當前流中的len個位元組讀取到從下標off開始存放的位元組陣列b中。

public int read(byte b, int off, int len) throws ioexception

}catch (exception e)}}

輸出hahaha

Design Pattern 裝飾模式

動態地給乙個物件新增一些額外的職責。就增加功能來說,decorator模式相比生成子類更為靈活。對於物件功能的擴充套件,物件導向一般通過繼承來解決,但這種方式缺乏靈活性,而且隨意定義子類容易導致類層次結構過快膨脹.場景,當類的核心職責和主要行為沒有發生變化,僅僅需要動態對類物件新增一些裝飾性的功能,...

Design Pattern 工廠模式

當有一些要例項化的具體類,究竟例項化哪個類,要在執行時由一些條件來決定。當 使用大量具體類時,我們就要考慮使用工廠模式了。定義了乙個建立物件的介面,但由子類決定要例項化的類是哪乙個。工廠方法讓類把例項化推遲到子類。public abstract class pizzastore protected ...

design pattern 外觀模式

針對問題 在軟體開發系統中,客戶程式經常會與複雜系統的內部子系統之間產生耦合,而導致客戶程式隨著子系統的變化而變化。那麼如何簡化客戶程式與子系統之間的互動介面?如何將複雜系統的內部子系統與客戶程式之間的依賴解耦?為子系統中的一組介面提供乙個一致的介面,facade 模式定義了乙個高層介面,這個介面使...