一、程序结构图
二、程序代码
1.接口类UserManager.java
package com.my_spring;
public interface UserManager {
public void addUser(String username, String password);
public void deleteUser(int id);
public void modifyUser(int id, String username, String password);
public String findUserById(int id);
}
2.接口实现类UserManagerImpl.java
package com.my_spring;
public class UserManagerImpl implements UserManager {
public void addUser(String username, String password) {
System.out.println("-------UserManagerImpl.addUser()-------");
}
public void deleteUser(int id) {
System.out.println("-------UserManagerImpl.deleteUser()-------");
}
public void modifyUser(int id, String username, String password) {
System.out.println("-------UserManagerImpl.modifyUser()-------");
}
public String findUserById(int id) {
System.out.println("-------UserManagerImpl.findUserById()-------");
return null;
}
}
3.静态代理类UserManagerImplProxy.java
package com.my_spring;
public class UserManagerImplProxy implements UserManager {
private UserManager userManager;
public UserManagerImplProxy(UserManager userManager) {
checkSecurity();
this.userManager = userManager;
}
public void addUser(String username, String password) {
this.userManager.addUser(username, password);
}
public void deleteUser(int id) {
this.userManager.deleteUser(id);
}
public void modifyUser(int id, String username, String password) {
this.modifyUser(id, username, password);
}
public String findUserById(int id) {
this.userManager.findUserById(id);
return null;
}
private void checkSecurity() {
System.out.println("--------checkSecurity()--------");
}
}
4.测试测序Client.java
package com.my_spring;
public class Client {
public static void main(String[] args) {
UserManager userManager = new UserManagerImplProxy(new UserManagerImpl());;
userManager.addUser("木星人", "123");
}
}