简单的J2EE项目,用SSH。分action、service、dao、pojo这几层。
dao里面的crud操作都差不多,在网上看有人写的通用的dao泛型编程。
只写一个dao就行了。然后我就想,能不能写一个通用的service。
后来写出来了。自己一看觉得很畸形,一堆pojo——>一个dao——>一个service——>一堆action。
dao和service就像两个通吃的工具类,缺少了以前的层次感。我不知道这样是否合理。
上网也没有看到谁写过通用的service层,希望大家给点意见

解决方案 »

  1.   

    我也写过类似于BaseService这种类,维护所有的Dao实现类(protected),但是这些Dao实现类默认注入是单例的,所以和分散放在其他Service层也没什么区别,有时候还更方便一些.我觉得软件分层不是为了分层而分层,能找到最符合自己的业务逻辑的层次结构就可以了,有时候项目没有特别的业务逻辑,只分两层我也做过.尽量做的简单通用就行了.但是我觉得很奇怪,为什么有一大堆action呢?难道是直接把action作为参数传递过来?
      

  2.   

    Service层管理dao层,定义业务接口方法
      

  3.   

    用的struts2,每个模块对应一个action。
      

  4.   

    service顾名思义服务层,我觉得是他通过组合再次封装dao方法或重新定义新的方法来适应你的项目需求!!service是dao层上一层的东西。
      

  5.   


    dao做原子型的方法。
    service把dao里的原子型的方法整成业务实际需要的方法,并提供事务的控制。
    action调service里已整好的方法。
    pojo可以划在dao里,具体看实际情况吧。