委派模式的例項介紹

2021-09-12 16:48:00 字數 2366 閱讀 3295

委派模式的基本作用就是負責任務的排程和分配任務,跟**模式很像,可以看做是一種特殊情況下的靜態**的全權**,但是**模式注重過程,委派模式注重結果。不屬於gop23種模式之一,屬於行為模式。

在我們工作中,最常見的一種情況就是,當我們公司老闆想做乙個東西,他要找到我們專案經理傳送乙個命令,然後我們專案經理接受到這個命令的時候,專案經理會根據這個東西來進行對團隊裡面的員工來分配。所以,我們專案經理leader就是一種委派模式,他想我們老闆的命令通過委派對員工去做。這就是乙個任務的全權排程和任務分配。

talk is cheap show me the code

因為我們的員工有很多個,我們先宣告乙個員工的統一抽象介面,定義乙個方法為dowork工作。

/**

* @description: 委派模式員工抽象介面

* @author: jh lee

* @create: 2019-03-15 23:13

**/public

inte***ce

employee

然後我們分別建立不同技術特點的員工物件,分別都實現這個抽象員工的介面

員工a,擅長資料加密

/**

* @description: 員工a

* 擅長資料加密

* @author: jh lee

* @create: 2019-03-15 23:18

**/public

class

employeea

implements

employee

}

員工b,擅長編寫sql語句

/**

* @description: 員工b

* 擅長sql語句

* @author: jh lee

* @create: 2019-03-15 23:18

**/public

class

employeeb

implements

employee

}

員工c,擅長jvm效能優化

/**

* @description: 員工c

* 擅長效能優化

* @author: jh lee

* @create: 2019-03-15 23:18

**/public

class

employeec

implements

employee

}

接著我們新建乙個專案經理leader類,裡面當然就有乙個進行任務分發的方法。方法引數,就是我們老闆具體想讓我們專案經理做些什麼,然後裡面有乙個容器,用於記錄我們每乙個員工的技術特點,方便我們通過我們老闆的需求委派給不同的員工去工作。這裡的容器我們還可以在資料庫中進行儲存,也可以直接宣告在我們記憶體中。

/**

* @description: 委派模式專案經理

* @author: jh lee

* @create: 2019-03-15 23:12

**/public

class

leader

//專案經理幹活方法,通過對每乙個員工的了解,讓對應的員工去做對應是,通過命令委派給員工

public

void

dowork

(string command)

}

我們新建乙個老闆boss類,裡面有乙個向專案經理leader傳送命令的方法。

/**

* @description: 委派模式boss類

* @author: jh lee

* @create: 2019-03-15 23:12

**/public

class

boss

}

好,到這裡我們整套委派的模式已經寫完了,我們來測試一下。

/**

* @description: 委派模式測試類

* @author: jh lee

* @create: 2019-03-15 23:30

**/public

class

delegatetest

}

測試結果:

可以看到,我們相應的員工已經被委派到對老闆的需求開始工作了,這就是委派模式。

設計模式 委派模式

1.簡介 角色 受託人,委託人 社會上是平等關係 公司裡面 普通員工,專案經理 各自職責不一樣 專案經理 委託人 主要職責是安排任務 普通員工 受託人 執行任務 2.特點 a 類似與中介的功能 委託機制 b 持有被委託人的引用 c 不關心過程,只關心結果 可以分發給不同員工執行,結果可能不同 d 幹...

設計模式 委派模式

委派模式,委派模式是持有被委託人的引用。不關心過程,只關心結果。相當於乙個中間價起乙個調節和任務分發的乙個作用,就像我們是客戶找管理人員找乙個可以幫我做這件事的員工 下面我們用 實現 首先定義乙個員工介面 員工 public inte ce employee編寫實現,廚師和司機 public cla...

設計模式 委派模式

首先委派模式不屬於23種設計模式。所謂委派,個人理解是 將為達到最終結果的事情交給其他人或中間人來幹,我只要最終結果,其他的事情,由我委派的人來安排。更直白的表達就是,比如,我們想要蓋一棟樓房,蓋完之後我要刷漆,這些事情我自己肯定不能做,所以我這時候就會去找乙個 包工頭 來幫我完成這件事情,我只要告...