定义
雇工模式也叫做仆人模式,其意图是:
雇工模式是行为模式的一种,他为一组类提供通用的功能,而不需要类实现这些功能,他是命令模式的一种扩展。
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进行集合,完成一组类不用实现通用功能而具有相应职能的目的。
最佳实践
在日常的开发过程中,我们可能已经接触过雇工模式,只是我们没有把他抽取出来,也没有汇编成册。或许大家已经看出这与命令模式非常相似,会发现雇工模式是命令模式的一种简化,但他更符合我们实际的需要,更容易进入开发场景中。