本文通过一个简单的例子来对回调的实现及其机理做一个小记录,以备未来查看,也希望给读者一些启发,抛砖引玉。
回调模式其实是设计模式中的观察者模式的一个精简。用户类实现回调接口,将接口的引用传递到一个用户方法中。当调用用户方法的时候,该用户方法将会去调用接口方法的实现,这就是一个回调的基本过程。
public interface ICallback<T, E> {
public T doCallback(E e);
}
@Service("userServiceImpl")
public class UserServiceImpl implements IUserService {
@Autowired
private UserDaoImpl userDaoImpl;
/**
* @功能 用户方法,执行回调方法
* @param ICallback
* @time 下午12:31:09
* @return T
*/
private <T> T execute(ICallback<T, UserDaoImpl> fun) {
return fun.doCallback(userDaoImpl);
}
//用户注册
@Override
public boolean doRegister(final User user) {
return this.execute(new ICallback<Boolean, UserDaoImpl>() {
@Override
public Boolean doCallback(UserDaoImpl e) {
return e.doRegister(user);
}
});
}
}