架构课第二周作业
发布于: 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:
划线
评论
复制
发布于: 2020 年 06 月 17 日阅读数: 58
嘻哈
关注
还未添加个人签名 2018.02.13 加入
还未添加个人简介
评论