写点什么

架构课第二周作业

用户头像
嘻哈
关注
发布于: 2020 年 06 月 17 日

作业1:



请描述什么是依赖倒置原则,为什么有时候依赖倒置原则又被称为好莱坞原则?



1.高层模块不依赖底层模块,二者都应该依赖其抽象
2.抽象不依赖细节,细节要依赖抽象
3.好莱坞原则:don't call me i'll call you,具体的意思就是不要电话给我,我会电话给你,在代码上面就是
高层调用底层的实现,但是并不关心底层如何实现,底层也不用关系高层如何调用,二者都依赖抽象即可
4.框架只保证调用调用底层实现,底层只要遵循规范实现接口即可,框架调用接口实现,底层的接口实现不会调用框架,
需要明确两者的关系!






作业2:



请描述一个你熟悉的框架,是如何实现依赖倒置原则的。



最熟悉的是spring 框架
1.Controller中的映射访问实现,contoller实现具体映射接口,spring框架不关心底层具体实现,只会按照规则调用
1)controller按spring框架规定的方式定义出每个入口函数的映射方式,@RequestMapping
2)框架扫描所有controller,并将映射注册到框架内置的mapper中
3)按照映射url访问,接口找到contoller对应的函数,实现调用

2.依赖注入IOC
1)比如在实现对外发送消息通知业务时,高层(controler)只关心需要发送消息通知给用户,但是并不关心底层是发送
邮件、短信、微信、钉钉,只知道有这么一个用户需要通知
2)底层实现邮箱、短信、微信、钉钉等通信协议实现不同的通知方式
3)高层调用通知接口,具体发送何种通知在运行时决定,spring 提供自动的方式,在运行时找到对应的实现类,完成功能
4)然后高层并不关心怎么发送,并且可以不用额外的开发,很方便的对实现类进行切换







作业3:



用户头像

嘻哈

关注

还未添加个人签名 2018.02.13 加入

还未添加个人简介

评论

发布
暂无评论
架构课第二周作业