首页 > 怎么处理一个业务逻辑涉及多个model的操作和对应数据库表的写入

怎么处理一个业务逻辑涉及多个model的操作和对应数据库表的写入

用过一些PHP的mvc框架,但是每次在处理这样一个业务逻辑涉及多个model的操作和对应数据库表的写入时,都会有点感觉迷茫。

每个model的处理有可能会出异常或者未通过验证保存失败,虽然可以使用transaction保证数据一致性,但是我总觉得自己的写业务逻辑的地方不是很正确,有没有什么好的实践?

比如商城卖东西,要处理账户余额,订单,商品,等等多个表对应Model。


把orm object完全等同于model使用到最后就会进入这样的困境

你可以去读一下DDD(领域驱动设计)方面的书充实一下自己

具体到你这个问题,你需要一个服务层(services),把卖东西这个业务逻辑放到单独的service类里面,由service来修改订单、商品、账户余额等

也就是说,最外层只需要直接去调用service类的卖东西方法,不需要直接跟orm打交道

每个orm object只需要封装少量核心逻辑即可(有些人把这种class称为贫血模型),涉及到多个orm object的复杂逻辑放到service里面去实现

封装了业务逻辑的类就是model,model并不仅仅是orm

领域驱动设计和实践


PHP不会,java很简单扼,业务逻辑都在service impl 里面,里面包含多个数据库操作就是了

【热门文章】
【热门文章】