软件设计原则
请描述什么是依赖倒置原则,为什么有时候依赖倒置原则又被称为好莱坞原则?
高层不应该依赖于低层,两者都应该依赖于抽象。模块之间的依赖是通过接口或者抽象类产生的,实现类不应该产生直接依赖关系。
因为实现类是多变的,但是接口是相对稳定的。高层模块制定规则或约束,同时保证自身的稳定,低层模块基于规则实现个性化的需求。
好莱坞原则:
Don't call me. I will call you.
在好莱坞,把简历递交给演艺公司后就只有回家等待。由演艺公司对整个娱乐项目的完全控制,演员只能被动式的接受公司的差使,在需要的环节中,完成自己的演出。这跟上面所说的依赖道指是相似的道理。
请描述一个你熟悉的框架,是如何实现依赖倒置原则的?
Django 框架中,框架定义好了视图的接口,开发者自行实现视图的业务逻辑。Django 调用相应的视图功能,用户的行为都在 Django 的框架中运行。这个流程可控。
请用接口隔离原则优化 Cache 类的设计,画出优化后的类图。
版权声明: 本文为 InfoQ 作者【Kun】的原创文章。
原文链接:【http://xie.infoq.cn/article/6d5989a5fe438fde2fb5b6786】。未经作者许可,禁止转载。
评论