代理模式
代理模式中,代理类与主体类实现同样的接口,代理类持有实体类的引用,并接受客户端对代理类中实体引用的外部注入,并代理实体类的功能。
注:描述中的这种外部注入形式有个专有技术名词:依赖注入
静态代理模式
角色
- 抽象角色:一般会使用接口或者抽象类来解决
- 真实角色:被代理的角色
- 代理角色:代理真实角色,一般会有一些附属操作
- 客户:访问代理对象的角色
优点
- 可以使真实角色更加集中本身的业务,不用去关注一些公共的业务
- 公共业务交给代理角色,实现业务的分工
- 公共业务发生扩展时,方便集中管理
缺点
每多一个真实角色就会产生一个代理角色:代码量会翻倍,开发效率低
代码步骤
1.接口
public interface UsersService {
public void add();
public void delete();
public void update();
public void query();
}
2.真实角色
public class UserServiceImp implements UsersService{
public void add() {
System.out.println("添加");
}
public void delete() {
System.out.println("删除");
}
public void update