为方便后期对代码的修改,如将代码中原先访问的mysql数据库改成redis数据库,我们可以定义一个接口UserDao来规定方法,统一方法名,然后 UserDaoMysqlImpl和UserDaoRedisImpl类再去实现这个接口,重写里面的方法,就可以做到保证方法名的统一
UserDao接口
//规定方法 统一方法名
public interface UserDao{
User login(String username);
int update();
}
UserDaoMysqlImpl类
public class UserDaoMysqlImpl implements UserDao{
public User login(String username){...}
@Override
public int update(){...}
}
UserDaoRedisImpl类
public class UserDaoRedisImpl implements UserDao{
public User login(String username){...}
public int update(){...}
}
UserService类
//多态去实现
//当前使用的是MySQL数据库
private static UserDao userDao=new UserDaoMysalImpl;
//当前使用的是Redis数据库
private static UserDao userDao=new UserDaoRedisImpl;