一、后台程序为什么要分为控制层(action),业务逻辑层(service),数据访问(Dao):
(1)无规范则不能成方圆,作为一个团队,必须采用一致的代码风格,别人才能维护你写的代码。
(2)为了代码的复用,service中方法可能被多个acton来调用。
(3)按职责的不同抽离不同的代码工作,简洁代码,同时也有减化代码,有一些代码是可能自动生成的,例如Dao.
二、各个层分别放什么?它们的作用是什么?
(1)Action: 定义rest api接口,只角色就是服务员,接收前端发过来的菜单,同时端菜给前端,不要放业务逻辑上的代码。
总结就是:1.接收参数给service。2.返回数据给前端(不管对的还是错的),可以通过自定义工类包下的Result来返回数据与消息(成功/失败代码)给前端。
(2)service定义业务逻辑,处理真正好的业务,它可以引用其它service中的方法,或者工具类,或者自己内部定义局部子函数,
它只能调用本模块的Dao,不能直接调用别的模块的Dao,别的模块的Dao调用,只能通过别的模块的service来调用,这样代码就简洁了。
(3)Dao,作做数据库与映射之间的crud动作,不带业务逻辑上的东西。