多个model共用一个service可以吗

本来根据对jdon的学习,理解为一个model对应一个service,但在实际开发中,涉及到在写A时,需要对B进行一次更新操作。这样一来,在A的service里调用B的DAO,不好写,也违反了解偶的原则,于是问了下朋友,他说一个业务对应一个service,而不是一个model对应一个service,于是写成了这样,不知道是否对。
<model key="id" class="sample.model.User">
<actionForm name="userForm" />
<handler>
<service ref="buyService">
<getMethod name="findUser" />
<createMethod name="createUser" />
<updateMethod name="updateUser" />
<deleteMethod name="deleteUser" />
</service>
</handler>
</model>

<model key="id" class="sample.model.Order">
<actionForm name="orderForm" />
<handler>
<service ref="buyService">
<getMethod name="findOrder" />
<createMethod name="createOrder" />
<updateMethod name="updateOrder" />
<deleteMethod name="deleteOrder" />
</service>
</handler>
</model>

>在A的service里调用B的DAO,不好写,也违反了解偶的原则
可以这样,不用担心耦合,因为是调用B的DAO接口,接口耦合是可以的,这就是面向接口编程,再通过Jdon框架的IOC解决了B的DAO具体类创建。

Model和service不一定是一一对应的,service也不是放业务逻辑的,业务逻辑主要需要在Domain Model,可见JiveJdon3源码,messageService中涉及业务代码很少,类似一个装配器,核心业务都在Model包下。