两年前开始学设计模式,不得要领,所以连名字都记不住,现在有些新的心得体会所以写一点。
依赖倒转原则,就是说抽象不依赖细节,细节依赖抽象,高层模块和底层模块要用抽象进行分离,不能直接发生耦合
说白了,抽象肯定是不依赖于具体实现的,而具体实现肯定要严格依赖抽象,高层模块在调用低层模块时候,肯定应该通过定义或者抽象好的一套接口,也就是说在写功能模块时候,这些接口肯定要优先于具体逻辑去实现,这样就保证了,如果高层模块发布了,以后我想要优化低层模块的功能时不需要考虑是否应该修改高层模块,而是严格按照接口编程,最后肯定没问题,而低层模块如果不想要修改,高层模块修改了内部逻辑,也因为调用的接口相同而免于修改,这就是实现开放封闭原则。
里氏代换说的是子类要能完全代替父类,父类的功能对外开发的接口,子类要全部实现,然后再进行扩展,这样就可以在希望增加功能的时候不需要对父类进行任何修改而只要新写具有更多功能的子类,然后利用多态替换掉原先对于父类的调用,同样为了开放封闭原则。