gaoxt1983
发贴: 67
积分: 0
|
于 2006-11-24 08:52
DAO真的有必要设计成接口吗?还有Service,为什么啊?别告诉我是为了以后换实现方便,有多少直接换实现的情况…… java 代码 public interface LoginService { public User getUser(String userName,String password) throws LoginException; public setLoginDao(LoginDao arg); public setIpBannerDao(IpBannerDao arg); }
比如:
java 代码 public class LoginServiceImpl implements LoginService { public User login(String userName,String password) throws LoginException { User user=userDao.getUser(userName,password); if(user==null) { throw new LoginException("你丫不是输错用户名就是记错密码了"); } if(ipBannerDao.checkUser(user)==false) { throw new LoginException("靠,被banner了还敢来,不想活了?"); } return user; } }
那么,把DAO,Service写成接口的好处是什么?
现在,我想测试LoginService,那么我需要模拟实现两个DAO,写两个对应的Mock,还有一个testCase,可是,如果DAO多了的话,那么,我们就需要为一个Service些5,6个DAO,真的有这个必要吗?
还有,如何写这些Mock Dao?测试数据怎么注入DAO中?
|