第二周·作业(SOLID)
1.什么是依赖倒置原则,为什么有时候依赖倒置原则又被称为好莱坞原则?
依赖导致原则:高层模块不依赖低层模块的实现。高层模块和低层模块应该通过抽象(abstractions)来互相依赖。除此之外,抽象(abstractions)不要依赖具体实现细节(details),具体实现细节(details)依赖抽象(abstractions)。
好莱坞原则:“don‘t call us, we‘ll call you”。在好莱坞,把简历递交给演艺公司后就只有回家等待。由演艺公司对整个娱乐项的完全控制,演员只能被动式的接受公司的差使,在需要的环节中,完成自己的演出。
这两者的共同点是调用方完全掌控被调用方。被调用方依赖调用方的逻辑规则。
2️.请描述一个你熟悉的框架,是如何实现依赖倒置原则的
JDBC:以java开发中访问数据库为例。java代码并不直接依赖数据库驱动,而是依赖JDBC。在这个例子中,java代码是高层模块,调用数据库是底层模块。
按照传统写法,需要java代码需要直接调用具体的数据库驱动,也就是java代码直接依赖数据库驱动。
JDBC的方案是通过抽象-JDBC,制定协议标准。java依赖JDBC标准,各个驱动也依赖JDBC标准。通过这种方式完成依赖导致原则
️3.请用接口隔离原则优化 Cache 类的设计,画出优化后的类图
面向接口编程
评论