一、雇工模式
1、定义
雇工模式(Employee Pattern)也称作仆人模式(Servant Pattern)
,它为一组类提供通用的功能,而不需要类实现这些功能。属于行为型设计模式。
其实雇工模式是命令模式的一种简化
,但是更符合实际需要,所以,开发中使用场景蛮多的。
2、结构
(1)模式的结构
主要角色如下:
- 抽象服务提供者(IServiced):用于定义服务内容的接口。
- 具体服务提供者(ConcreteServiced):实现所有服务的内容。
- 雇工(Servant):即执行者,用于执行服务。
3、优缺点
优点:
- 扩展性较好,可以很容易地增加雇工来执行新的任务。
缺点: - 增加了程序的复杂度。
二、模式的通用实现
代码如下:
public class EmployeePattern {
public static void main(String[] args) {
Servant servant = new Servant();
servant.service(new ConcreteServicedA());
servant.service(new ConcreteServicedB());
}
}
// 抽象服务提供者
interface IServiced {
public void do1();
}
// 具体服务提供者
class ConcreteServicedA implements IServiced {
@Override
public void do1() {
System.out.println("ConcreteServicedA do something");
}
}
class ConcreteServicedB implements IServiced {
@Override
public void do1() {
System.out.println("ConcreteServicedB do something");
}
}
// 雇工
class Servant {
// 服务内容
public void service(IServiced serviced) {
serviced.do1();
}
}
– 求知若饥,虚心若愚。