接口类
package com.guanzhu.demo02.service;
import com.guanzhu.demo02.User;
public interface UserService {
int add();
int delete();
int update();
User retrieve();
}
UserService接口实现类
package com.guanzhu.demo02.service;
import com.guanzhu.demo02.User;
public class ImpleUserService implements UserService{
public int add() {
System.out.println("添加了一个用户");
return 0;
}
public int delete() {
System.out.println("删除了一个用户");
return 0;
}
public int update() {
System.out.println("更新了一个用户");
return 0;
}
public User retrieve() {
System.out.println("修改了一个用户");
return null;
}
}
代理类
package com.guanzhu.demo02.service;
import com.guanzhu.demo02.User;
public class ProxyUserService implements UserService{
private ImpleUserService IUS;
public void setImpleUserService(ImpleUserService impleUserService) {
this.IUS = impleUserService;
}
public ProxyUserService(ImpleUserService IUS) {
this.IUS = IUS;
}
public ProxyUserService() {
}
public int add(){
log("add");
IUS.add();
return 0;
}
public int delete(){
log("delete");
IUS.delete();
return 0;
}
public int update(){
log("update");
IUS.update();
return 0;
}
public User retrieve() {
log("retrieve");
IUS.retrieve();
return new User();
}
public void log(String s){
System.out.println("[Debug]使用了"+s.toString()+"方法!");
}
}
测试类
package com.guanzhu.demo02.service;
public class Client {
public static void main(String[] args) {
ImpleUserService impleUserService=new ImpleUserService();
ProxyUserService proxyUserService=new ProxyUserService();
//将需要代理的角色传递进来
proxyUserService.setImpleUserService(impleUserService);
proxyUserService.add();
proxyUserService.delete();
}
}