1.问题由来:类A直接依赖类B,假如要将类A改为依赖类C,则必须通过修改类A的代码来达成。这种场景下,类A一般是高层模块,负责复杂的业务逻辑;类B和类C是低层模块,负责基本的原子操作;假如修改类A,会给程序带来不必要的风险。
2.解决方案:将类A修改为依赖接口I,类B和类C各自实现接口I,类A通过接口I间接与类B或者类C发生联系,则会大大降低修改类A的几率。(其实换成接口,可能下面的很多代码都不需要变了,如果还是A,B的对象实例,那么下面的代码可能会发生修改。)
3.依赖倒置原则针对的是接口编程。
4.对于容易发生的变化的地方,提供接口,接口具有高度抽象性,让其进行接收,这样就可以极大的减少修改高层模块中的代码。
时间: 2024-10-11 22:39:22