写点什么

第二周作业

用户头像
CraspLion
关注
发布于: 2020 年 11 月 01 日
第二周作业



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



依赖倒置原则是说高层模块不应该依赖低层模块;相反,它们都应该依赖抽象或接口。这意味着你不应该在高层某块里依赖具体的低层实现类,因为这样会让高层某块紧耦合低层模块;如果某天修改低层某块,很可能导致高层模块奔溃。当然课程里说了一点我很少注意的,接口应该被高层定义,而不是低层,由高层来说我需要什么,然后低层提供,而不是低层提供什么,我来使用什么。



好莱坞原则是用在系统的高层组件与底层组件之间。高层组件不应该直接调用底层组件,而是从容器获取。

为什么说有时候依赖倒置原则又被称为好莱坞原则,其实主要原因就是绝大多数框架在实现 依赖倒置 的时候用了好莱坞原则:高层模块不会去 new一个依赖,而是由框架在运行时动态给予,就是所谓的“别打电话给我,有事我会打电话给你”。



特意还去网上搜索了个例子强化下自己当作笔记咯:

假设qq在线聊天,有聊天框和表情选择框,那么,打开聊天框,然后打开表情框,选择表情——这个过程不应该在聊天框的代码里出现(或者说,聊天框不应该参与直接调用表情框),而是应该聊天框告诉qq容器:我要调用A,虽然我不知道那是什么,然后容器提供A(表情框组件)。好处是,假如之后腾讯更新了更好的表情框,然后由容器控制生命周期,而聊天框则不参与。



作业二: 请用接口隔离原则优化 Cache 类的设计,画出优化后的类图

这个感觉老师也提示为了接口分离原则,类不应该被迫依赖它们不使用的方法,接口应该拥有尽可能少的行为,需要精简单一



发布于: 2020 年 11 月 01 日阅读数: 25
用户头像

CraspLion

关注

快乐的小二逼青年 2019.04.11 加入

这么帅还要介绍???

评论

发布
暂无评论
第二周作业