写点什么

架构师训练营第二周作业

用户头像
文智
关注
发布于: 2020 年 09 月 27 日
架构师训练营第二周作业

什么是依赖倒置原则

  • 依赖倒置原则是指让高层模块不依赖低层模块而是依赖接口,由高层决定低层,从而实现高层的复用。

  • 依赖倒置原则的实现:

  • 在高层模块定义接口,在接口中声明高层模块需要调用的方法

  • 高层模块应用程序调用接口实现业务逻辑

  • 低层模块实现接口

如上图,左侧涉及高层模块依赖低层模块,右侧低层模块依赖高层模块,从左侧到右侧,依赖关系已经发生了倒置。

  • 运行时容器实例化低层模块并注入高层模块,从而使高层模块能够调用低层模块的具体实现,这也意味着只要注入不同低层模块的实例,就能动态改变运行结果,而这个过程中高层模块无需改变,也就达到了高层模块复用的目的。

  • 依赖倒置原则是框架设计的基础,框架是高层模块,开发人员实现具体的业务逻辑是低层模块,基于依赖倒置原则,可以实现框架的复用,同时由于框架中为开发人员定义了相应接口,框架能够约束业务逻辑的实现,这样可以让项目更规范,逻辑更清晰。

为什么依赖倒置原则又称为好莱坞原则

好莱坞原则:Don't call me, I'll call you.

这句话符合依赖倒置原则中高层模块和低层模块之间的关系,低层不会调用高层,高层通过接口执行低层代码

接口隔离原则优化 Cache 类的设计

如图,Service 依赖 Cache 接口,只能调用 get、put、delete 方法,System 依赖 RebuildableObject 接口,只能调用 rebuild 方法。

运行时,容器实例化 RebuildableCache 类,并注入给 Service,RebuildableCache 实例向上塑形为 Cache 实例,对 Service 可见的仍然只有 get、put 和 delete 方法;同理,容器给 System 注入的是 RebuildableCache 实例,对 System 来说,能看到的也只有 RebuildableObject 的 rebuild 方法。

发布于: 2020 年 09 月 27 日阅读数: 55
用户头像

文智

关注

还未添加个人签名 2018.11.29 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营第二周作业