java全栈day14-后端Web实战3
引言:对于上节学的内容,若是想调用里面这个方法,很难调用(如果想用中间处理原始数据的方法,需要把前面的代码也要一起调用),所以提出分层耦合
一、分层解耦
1.1三层架构
三层架构划分和职责
对上节写的代码进行实际操作
在dao包里进行操作
在service包里进行操作
在controller包里进行操作
总结一下
小结
1.2三层架构扩展
修改代码
dao包修改
service包修改
controller修改
小结、
1.3分层耦合
前言:现在介绍一下解耦
解耦的思想:咱们这里有一个实现DeptServicelmpl1,咱们编写的程序当中controller层去调用Service层,-旦new这个对象:contrlger层就和Seryice层耦合了。
势必会用到Service层的对象,要什么对象直接new一个对象(DeptServicelmpl1),
1.所以要想解除耦合,这里就不能再new对象,
按刚才写的代码来说,下面要用到这个对象,而它还没有实例化处理,前端请求到达list方法;
因为service还没有实例化它的值为null(空指针异常),
2.可以为我们要使用的DeptServicelmpl1准备一个容器,可以理解为一个(map)集合,我们在项目中要用到哪个实现,那就把这个实现创建一个对象,并且把这个对象放到这个容器当中
3.当controller程序在运行的时候要用到deptservice这个类型的对象,接下来直接动态的到容器里面去找;如果需要访问deptservicelmpl2,则将它放入容器,1就不放入
原文地址:https://blog.csdn.net/xlsw_/article/details/144401148
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!