委派模式
在常用的23種設計模式中其實面沒有委派模式(delegate)的影子,但是在spring中委派模式確實用的比較多的一種模式,spring mvc框架中的dispatcherservlet其實就用到了委派模式,有前輩將其總結為**模式和策略模式的組合。下面通過乙個簡單的例項來總結委派模式
委派模式跟靜態**模式以及策略模式的區別?
委派模式:**人全權負責這一件事。如:老闆給專案經理安排任務,專案經理只是負責排程工作,真正幹活的是底下的開發人員。
靜態**模式:**人只是參與被**人一小部分的工作,最終的結論還是得由**人來決定。如:張三沒空找物件,媒婆幫張三物色到乙個物件,最終得看張三喜不喜歡這個物件。
策略模式:專案經理在分配任務的時候需要權衡,會產生多種分配方案,但是最終都是將手中的任務分配給底下的開發人員。
示例:
boss通過將任務發布給專案經理,體現靜態**,專案經理根據任務選擇相應的員工完成任務,體現策略模式。
1.建立委派介面:
public
inte***ce itarget
2.介面實現
public
class
targetb
implements
itarget
}
public
class
targeta
implements
itarget
}
3.委派類:
public
class leader
public
void
dispatch(string command)
}
4.測試:
public
class boss
}
設計模式 委派模式(Delegate)
不屬於23 種設計模式之一,是物件導向設計模式中常用的一種模式。這種模式的原理為類b和類a 是兩個互相沒有任何關係的類,b 具有和a 一模一樣的方法和屬性 並且呼叫b 中的方法,屬性就是呼叫a 中同名的方法和屬性。b好像就是乙個受a授權委託的中介。第三方的 不需要知道a 的存在,也不需要和a 發生直...
設計模式之裝飾設計模式 二 delegate
這次我為大家介紹裝飾設計模式中的delegate。一.什麼是delegate 從委託方法的實現來看,委託方法的實現是在另外乙個類中完成,即委託類的內部暴露了,與我們一般堅持的隱藏實現原則相違背。從委託類的定義可以看出,委託與協議有一定的相似性。都採用 protocol 關鍵字來宣告 並且其中的方法都...
委派模式(Delegate)
委派模式 delegate 是物件導向設計模式中常用的一種模式。這種模式的原理為類b和類a是兩個互相沒有任何關係的類,b具有和a一模一樣的方法和屬性 並且呼叫b中的方法,屬性就是呼叫a中同名的方法和屬性。b好像就是乙個受a授權委託的中介。第三方的 不需要知道a的存在,也不需要和a發生直接的聯絡,通過...