用户登录是Web程序中的重要功能,相关操作包括注册、登录检查。经济有这样的情况:初始时用户信息(例如用户名、密码)是透明的,但将来有可能对这些信息进行加密保存,那么如何预留加密接口呢?访问者模式是较好的实现方式之一。
具体代码如下:
1、定义抽象访问接口IVisitor
public interface IVisitor{
public void visit(User u);
}
//初始时默认具体加密访问者EncryptVistor
public class EncryptVisitor implements IVisitor{
public void visit(User user){}
}
visit()是空方法,表明没有对用户对象进行加密,说明初始时用户名、对象是透明的。
//用户基础类
public class User {
String user;
String pwd;
int type;
public User(String user,String pwd,int type) {
this.user = user;
this.pwd = pwd;
this.type = type;
}
public User(String user,String pwd){
this.user = user;
this.pwd = pwd;
}
public void encrypt(IVisito