前言:學習目标:精簡程式邏輯,提升代碼的可讀性。内容定位:希望通過對委派模式的學習,讓自己寫出更加優雅的代碼的人群。
委派模式(Delegate Pattern)的基本作用是負責任務的排程和配置設定任務,跟代理模式很像,可以看作是一種特殊情況下的靜态代理的全權代理,但是代理模式注重過程,而委派模式注重結果。
不屬于GOF 23中設計模式之一
屬于行為型模式
DispatcherServlet
類名以Delegate結尾的
包含Dispatcher的一般都是委派模式
Spring架構IOC中的BeanDefinitionParserDelegate:Spring提供多種方式(java、xml、注解)配置bean,該類負責分發處理,注入的bean資訊最終會被加載為一個BeanDefition對象(描述對象資訊)
應用場景:解決多任務,又不希望把這些任務或者具體的實作讓使用者知道(不讓使用者直接互動),建立一個中間類,實作全權代理,達到對使用者來說隻有一個入口的目的。
例子:老闆需要安排任務給員工,但是又不能直接讓老闆去了解每個員工的擅長職能,就可以建立一個中間的經理職位負責了解職員的特長,分發任務。
boss類
經理類
員工接口
員工A
員工B
測試類
DispatcherServlet是前端控制器委派模式的實作,提供Spring Web MVC的集中通路點,負責職責的分派
web.xml
MemberController
OrderController
SystemController
