2020.12.14收获

service层的作用

从字面的意思上来看,service是业务层,dao是数据访问层。 标准主流现在的编程方式都是采用MVC综合设计模式,MVC本身不属于设计模式的一种,它描述的是一种结构,最终目的达到解耦,解耦说的意思是更改某一层代码,不会影响其他层代码,如果会像spring这样的框架,会了解面向接口编程表示层调用控制层,控制层调用业务层,业务层调用数据访问层。 初期也许都是new对象去调用下一层,比如在业务层new一个DAO类的对象,调用DAO类方法访问数据库,这样写是不对的,因为在业务层中是不应该含有具体对象,最多只能有引用,如果有具体对象存在,就耦合了。当那个对象不存在,还要修改业务的代码,这不符合逻辑。 例如: 1、假设现在做这个功能会用到user表和权限表,那么前台的页面访问action,action再去调用用户模块service,用户模块service判断你是操作user表还是权限表,如果操作的是user表则service的实现类就去调用userDAO,如果是操作的是权限表则调用权限的DAO。 2、也就是说DAO一定是和数据库的每张表一一对应,而service则不是。其实一个项目一个service和一个DAO其实也一样可以操作数据库,只不过那要是表非常多,出问题了,那找起来多麻烦,而且太乱了。 3、好处就是整个项目非常系统化,和数据库的表能一致,而且功能模块化,这样以后维护或者改错比较容易,性能也高一些。
 
posted @ 2020-12-14 18:55  第厘  阅读(58)  评论(0编辑  收藏  举报