design pattern 外觀模式

2021-09-01 09:05:17 字數 784 閱讀 6843

針對問題:在軟體開發系統中,客戶程式經常會與複雜系統的內部子系統之間產生耦合,而導致客戶程式隨著子系統的變化而變化。 那麼如何簡化客戶程式與子系統之間的互動介面?如何將複雜系統的內部子系統與客戶程式之間的依賴解耦?

為子系統中的一組介面提供乙個一致的介面, facade 模式定義了乙個高層介面,這個介面使得這一子系統更加容易使用。——gang of four

外觀模式結構圖:

外觀模式實現**:

/**

* 例項a

* @author bruce

* */

public class a

}/**

* 例項b

* @author bruce

* */

public class b

}/**

* 例項c

* @author bruce

* */

public class c

}/**

* 外觀例項

* @author bruce

* */

public class facade

/*** 外觀介面

*/public void action()

}/**

* 測試

* @author bruce

* */

public class client

}

Design Pattern 工廠模式

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

design pattern 狀態模式

針對問題 有時候乙個方法可能有很多if.else來判斷狀態後再執行相關操作,當很多方法都重複的出現這樣的if.else判斷時,就可以考慮用狀態模式了。狀態模式的結構圖和策略模式一樣,事實上狀態模式和策略很相似,不同的是狀態模式除了委託狀態外,狀態實體自身持有主實體物件的引用,在狀態實體內部可以動態的...

Design Pattern 裝飾模式

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