架构师训练营第 1 期 -- 第二周作业
请描述什么是依赖倒置原则,为什么有时候依赖倒置原则又被称为好莱坞原则?
依赖倒置,即为抽象(高层)不依赖具体实现(低层),而用具体实现去依赖抽象。
在现实应用中,特别是各种框中,接口,抽象类把底层逻辑搭建了起来,而放出一些接口,或者是切入点,让应用去实现,这样就做到了让实现去依赖抽象。所谓倒置,是指一般人思考解决问题的过程,是从具体问题切入,一步一步推演如何解决,越推越深,到后面才推演到抽象的。如果按照这种思维方式设计实现,就会是一个抽象依赖具体实现系统,所以这里说要倒过来,用实现依赖抽象。
实际应用中,框架会利用各种工厂模式,反射,把具体实现隔离开,做到不依赖具体实现也能运行一套完整的逻辑。
好莱坞原则,don't call me, I'll call you,你不要来找我,让我来找你,这就是一种倒置。一般查到的资料都会说,好莱坞导演是高层(抽象),演员就是低层(实现),演员不要找(依赖)导演,导演自己去找(依赖)演员,这是不是弄反了?总感觉应该指的是导演是实现,演员是抽象。但如果从另一个方面来思考,导演这边以自己的行为方式去筛选演员,而演员千千万,在导演眼中,演员可能也只是一个抽象,这又像极了框架的(导演)运行机制。
Cache类设计
评论