这几天,挺闲的,回过头又看了一下依赖倒置,很有意思.
依赖倒置的核心:
a 高层模块不应该依赖低层模块.二者都应该依赖于抽象.
b 抽象不应该依赖于细节.细节应该依赖于抽象.
程序中所有的依赖关系都应该终止与抽象类或者接口,则有:
1.任何变量都不应该持有一个指向具体类的指针或者引用
2.任何类都不应该从具体类派生
3.任何方法都不应该覆写它的任何基类中的已经实现了的方法
当然每个程序中都会有违反该启发原则的情况.有时候要创建具体类的实例,而创建这些实例的模块将会依赖于它们.此外,该启发原则对于那些虽是具体但却稳定的类来说似乎不太合理.如果一个具体类不会改变,并且也不会创建其他类似的派生类,那么依赖于它并不会造成损害.
依赖倒置原则是实现许多面向对象技术所宣称的好处的基本低层机制.它的正确应用对于创建可重用的框架来说是必须的.这样抽象和细节彼此隔离,对于代码维护也非常容易.
依赖倒置的核心:
a 高层模块不应该依赖低层模块.二者都应该依赖于抽象.
b 抽象不应该依赖于细节.细节应该依赖于抽象.
程序中所有的依赖关系都应该终止与抽象类或者接口,则有:
1.任何变量都不应该持有一个指向具体类的指针或者引用
2.任何类都不应该从具体类派生
3.任何方法都不应该覆写它的任何基类中的已经实现了的方法
当然每个程序中都会有违反该启发原则的情况.有时候要创建具体类的实例,而创建这些实例的模块将会依赖于它们.此外,该启发原则对于那些虽是具体但却稳定的类来说似乎不太合理.如果一个具体类不会改变,并且也不会创建其他类似的派生类,那么依赖于它并不会造成损害.
依赖倒置原则是实现许多面向对象技术所宣称的好处的基本低层机制.它的正确应用对于创建可重用的框架来说是必须的.这样抽象和细节彼此隔离,对于代码维护也非常容易.