写点什么

第二课框架设计课后作业

用户头像
Geek_michael
关注
发布于: 2020 年 09 月 26 日

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

A:依赖倒置原则(DIP)是指高层模块不依赖低层模块,而是依赖于抽象。该抽象是上层模块根据逻辑需求定义。

抽象不依赖实现,而是实现依赖抽象。下层模块实现上层模抽象出的接口层,供上层模块调用。依赖倒置原则是实现框架程序的关键。

 

好莱坞原则是指:don't call me,I will call you。 好莱坞原则形象的描述了依赖倒置原则中上层模块不依赖下层模块的特点。导演和编剧(上层模块)设定故事情节和角色特征(抽象接口),演员(下层模块)按照设定的角色和情节进行演出,最终完成整个故事情节的展示。通常情况下是先构思出故事情节(抽象接口),然后演员按照剧本进行表演,而不是直接依赖演员。

 

开/闭原则(OCP):

开闭原则是指模块设计能够做到在不修改代码的情况下实现功能的扩展。即模块应该对扩展是开放的,对修改是封闭的。

开闭原则的关键是抽象。在实际软件模块设计时,模块应该依赖根据功能需求抽象出的接口,而不是具体的功能。在使用该模块进行功能扩展时,扩展功能代码实现定义的抽象接口,就可以被模块调用,扩展了功能。从对调用该模块或类的角度来,即在不修改该模块的代码的情况下实现了功能的扩展。

 

里氏替换原则(LSP):

里氏替换原则是指在面向对象中继承特性的实践中,子类应该能够替换父类而不影响系统的运行。这种继承特性并不是简单的 is-a 关系,而是能够在实际的上下文环境中进行替换。里氏替换原则是保证类或模块继承性设计合理的关键准则。

单一职责原则(SRP):

职责是指引起变化的原因,单一职责原是指类内部组成元素间具有相关性,一个类应该只有一个引起其变化的原因。该原则表明类的功能要有高内聚性。如果类的功能实现不相关,那么就把该类拆分成支持不同功能的类。不同的调用者使用不同的功能。

接口隔离原则(ISP):

该原则强调不应该使客户端依赖他们不需要的方法。单一职责原则与接口隔离原则的目的是一致的,都强调功能的高内聚性。他们从不同的角度分布进行阐述。单一职责原则强调高内聚性是从类的内部功能相关性来看的,不相关的功能不要放在一起。接口隔离原则是从接口调用的角度来看的,给调用者使用的接口要具有相关性,如果不相关、不必要就不要开放给调用者。


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

定义 ApplicationCache 接口用于应用相关的 Cache 操作,如 get,put,delete 等操作。配置推送等业务使用 ConfigurationCache 业务接口。分布式业务实现 ApplicationCache 接口和 ConfigurationCache 接口。



用户头像

Geek_michael

关注

还未添加个人签名 2020.01.16 加入

还未添加个人简介

评论

发布
暂无评论
第二课框架设计课后作业