僱工模式(Servant Design Pattern)。
阿新 • • 發佈:2018-11-08
定義
僱工模式也叫做僕人模式,其意圖是:
僱工模式是行為模式的一種,他為一組類提供通用的功能,而不需要類實現這些功能,他是命令模式的一種擴充套件。
IServiced是用於定義“一組類”所具有的功能,其示例程式碼如下所示。
public interface IServiced {
/**
* 具有的特質或功能
*/
void serviced();
}
針對不同的服務物件具備不同的服務內容,也就是具體的功能實現IServiced介面即可,示例程式碼如下所示。
public class Serviced1 implements IServiced { @Override public void serviced() {} } public class Serviced2 implements IServiced { @Override public void serviced() {} }
功能定義完畢後,我們需要由一個僱工來執行這些功能。簡單的說,就是需要有一個執行者,可以把一組功能聚集起來,示例程式碼如下所示。
public class Servant {
/**
* 服務內容
*
* @param serviceFuture
*/
public void service(IServiced serviceFuture) {
serviceFuture.serviced();
}
}
在整個僱工模式中,所有具有IServiced功能的類可以實現該介面,然後由僱工類Servant進行集合,完成一組類不用實現通用功能而具有相應職能的目的。
最佳實踐
在日常的開發過程中,我們可能已經接觸過僱工模式,只是我們沒有把他抽取出來,也沒有彙編成冊。或許大家已經看出這與命令模式非常相似,會發現僱工模式是命令模式的一種簡化,但他更符合我們實際的需要,更容易進入開發場景中。