依赖倒置原则以及 week2 作业

用户头像
不在调上
关注
发布于: 2020 年 06 月 14 日

什么是依赖倒置原则

依赖倒置的原始语义是

High-level modules shouldn’t depend on low-level modules. Both modules should depend on abstractions. In addition, abstractions shouldn’t depend on details. Details depend on abstractions.



做法就是高层不依赖底层,抽象不依赖实现,全都依赖抽象

那么怎么确认什么是高层,什么是底层呢?这个是根据调用关系来确认的,一般来说越靠近用户就越是高层

具体实现依赖倒置的方法呢

一般依赖倒置使用在框架的设计中,比如Junit, spring 等,消息一进来都是先走框架然后才是我们的实现类,这样框架都掌握了控制权,这个也是好莱坞原则,公司掌握着大权,可以根据自己的需要挑选演员。



Mybatis 是如何实现依赖控制的呢(框架设计)

通过接口绑定对应的配置文件,实现具体的调用,比如

配置哪些是正确的mapper 文件

<!-- 映射文件,mybatis精髓, 后面才会细讲 --> <mappers>

<mapper resource="com/dy/dao/userDao-mapping.xml"/> </mappers>

编写具体的mapper

<mapper namespace="com.dy.dao.UserDao"> <select id="findUserById" resultType="com.dy.entity.User" > select * from user where id = #{id} </select> </mapper>

为了融入java 的调用体系中,编写接口类

public interface UserDao { public void insert(User user); }

组装方法如下

SqlSession sqlSession = getSessionFactory().openSession(); UserDao userMapper = sqlSession.getMapper(UserDao.class); User user = userMapper.findUserById(2);



uml 图



发布于: 2020 年 06 月 14 日 阅读数: 35
用户头像

不在调上

关注

还未添加个人签名 2018.04.28 加入

还未添加个人简介

评论

发布
暂无评论
依赖倒置原则以及week2 作业