架构师训练营第二周作业
请描述什么是依赖倒置原则,为什么有时候依赖倒置原则又被称为好莱坞原则?
依赖倒置原则是高层不依赖底层来处理相应的逻辑。场景模拟就是:高层定义自己的方法逻辑或者定义接口规则,然后高层调用自己的方法逻辑,不去管低层具体的实现,低层按照高层的定义实现自己的逻辑。
一个是需求方,一个服务提供方,要分清楚
eg:订单系统模拟逻辑
Controller 定义一个订单相关的逻辑接口,然后在Controller的创建订单方法中使用接口实现类直接进行逻辑处理,低层service层实现订单具体逻辑。
请描述一个你熟悉的框架,是如何实现依赖倒置原则的。
比如spring框架。
容器本身是没有业务逻辑的,但是他定义了controller等基类,我们写代码的时候,去实现controller相应的类,然后按照相应的格式写方法。Spring容器就会自动搜索相应的controller实现类,去暴露相应的Restful接口,这个符合了依赖倒置原则。
3.请用接口隔离原则优化 Cache 类的设计,画出优化后的类图。
提示:cache 实现类中有四个方法,其中 put get delete 方法是需要暴露给应用程序的,rebuild 方法是需要暴露给系统进行远程调用的。如果将 rebuild 暴露给应用程序,应用程序可能会错误调用 rebuild 方法,导致 cache 服务失效。按照接口隔离原则:不应该强迫客户程序依赖它们不需要的方法。也就是说,应该使 cache 类实现两个接口,一个接口包含 get put delete 暴露给应用程序,一个接口包含 rebuild 暴露给系统远程调用。从而实现接口隔离,使应用程序看不到 rebuild 方法。
答题:
评论