????????????????TDD???????????......?????????????????????????????Spring???????д?????XXXInterface???????д?????XXXInterfaceImpl??????д???????????????????????

???????????

???????User????????????????????????????????????????????????

public class User{

 public static User login(String username??String password) throw LoginException{
  //???DAO
  //??????????????????????????User???????????
 }
 
 //???????
}

??????????????ζ???????????в????

????????????????????е???????

public class UserTest{

 public void testLogin(){
  User user = User.login("aaa"?? "123456");
  //????user???????????ж?
 }
}

????????????????????????????????????????login??????????????????????????δ??????????????????????????δ????????????????????????????????????????????????????????ζ??User.login??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

??????????????????????Υ??????????????????????????ò????????????飬?????????????????????顣????????????Login????????DAO?е??Щ??????

????????????DAO??

public class UserDAO implements DAO<User>{
 //????????????
}

public class DAOFactory{
 public DAO getDAO(Class pojoClass){
  //???????DAO
 }

 public static DAOFactory getInstance(){
  //????????
 }
}

??????????DAO????????????????????????????User???????????????μ??????????????裺1?????DAO??2?????DAO????????User????????DAO???????????????Mock????????DAO????????????????????????????????User????????DAO?????MockUserDAO????UserDAO????????

public class MockUserDAO implements DAO<User>{
 //??????????
}

??????DAOFactory???????????????getInstance?????????????????????????????????????????——???MockDAOFactory????????????????????????????????????????????鷳??????..... ??????????????????????????????????????????ο??????????????α????????????????????????????????????о?....

?????????????DAO????????????????????????????????????????DAO??????£?????????????????????鷳??????DAO??????????????Mock???DAO???????????MockDAO extends DAO??????????????DAO????????????????????????????????????????????????????????????????????????У???????????????????????£??????????????????????????????????????????????д??????????

???????????????????????????????????????????е?????????????????????getter??setter????ò??????????????????????????????????

???????????????????????????????ν??

????????????http://my.oschina.net/Jeky/blog/30354