委託模式

委託模式(delegation pattern)是軟體設計模式中的一項基本技巧。

簡介

在委託模式中,有兩個對象參與處理同一個請求,接受請求的對象將請求委託給另一個對象來處理。委託模式是一項基本技巧,許多其他的模式,如狀態模式、策略模式、訪問者模式本質上是在更特殊的場合採用了委託模式。委託模式使得我們可以用聚合來替代繼承,它還使我們可以模擬mixin。

簡單的Java例子

在這個例子裡,類模擬印表機Printer擁有針式印表機RealPrinter的實例,Printer擁有的方法print()將處理轉交給RealPrinter的方法print()。

複雜的Java例子

通過使用接口,委託可以做到類型安全並且更加靈活。在這個例子裡,類別C可以委託類別A或類別B,類別C擁有方法使自己可以在類別A或類別B間選擇。因為類別A或類別B必須實現接口I規定的方法,所以在這裡委託是類型安全的。這個例子顯示出委託的缺點是需要更多的代碼。

相關詞條

熱門詞條

聯絡我們