架构师培训 -02 面向对象基本设计原则
作业
1.什么是依赖倒置原则,为什么有时候依赖倒置原则又被称为好莱坞原则?
依赖倒置是指高层模块不依赖低层模块,它们共同依赖同一个抽象。抽象不依赖具体的实现,具体实现依赖抽象。
本应该是高层模块依赖于低层模块的关系,变成了由高层模块自己定义好抽象(接口)并且依赖于此抽象,由低层模块去实现该抽象。从而使高层模块不再直接依赖于低层模块,而是由低层模块依赖于高层模块定义的抽象去做实现,最后形成了依赖倒置的关系。
好莱坞原则:Don't call me, I'll call you. 这是框架设计的核心思想。应用程序根据框架定义好的抽象或规则进行实现或编码后,框架会自动去调用应用程序代码。从这点上来看,可以把框架看做是高层模块,应用程序是低层模块,由低层模块去实现了高层模块的抽象或规则,也形成了依赖倒置关系。所以在这时候依赖倒置原则也可以被称为是好莱坞原则。
2.请描述一个你熟悉的框架,是如何实现依赖倒置原则的?
Spring security框架在实现用户认证时,通过一个责任链模式来实现整个用户认证流程。在这个流程中框架定义好了很多种filter接口,Spring security框架自身依赖于这些定义好的filter进行调用,对于使用者来说只要去实现对应的filter来实现具体的业务,整个认证过程中业务代码不需要去调用Spring security框架的代码,框架会来调用我们写好的业务代码。例如:通过实现UserDetailsService接口来完成用户认证的业务逻辑
3.请用接口隔离原则优化 Cache 类的设计,画出优化后的类图。
评论 (1 条评论)