我遇到的疑惑
--action
--CommonAction
--AAction
--BAction
--CAction
--service
---AService
---BService
--service.impl
--AServiceImpl
--BServiceImpl
--dao
--ADao
--BDao
--dao.impl
--ADaoImpl
--BDaoImpl
public abstract class CommonAction extends DispatchAction{ public AService aService; pulbic BService bService; ...setter/getter }
public class BAction extends CommonDispatchAction { public ActionForward getList(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)throws Exception { List<a> aList = aService.getAList(); List<B> bList = bService.getBList(); ...}}
public class AServiceImpl implements AService { private ADao aDao; ...setter/getter public void add(A a) { aDao.add(a); } public List<a> getAList(){ return aDao.getAList(); } ... }
问题1:我的一个service对应一个dao,service种方法和dao中方法一模一样,而且service实现类中仅仅是调用dao方法。这种实现方法有什么不妥,好的实现方式是什么?
问题2:如上代码,我想在 BAction 中获得A数据或者C,D,E,F ... 数据只能先定义一个抽象类CommonAction,这样实现方法的弊端是什么,如果我想实现这个功能(在 BAction 中获得A数据或者C,DE,F数据),应该怎样设计?