策略模式:
稳定点:实现的目标是固定的,比如无论是否打折或者采用某种打折方式,计算价格的动作(目标)是一定要完成的
变化点:采用那种打折方式
依赖倒转原则(Dependency Inversion Principle, DIP):抽象不应该依赖于细节,细节应当依赖于抽象。换言之,要针对接口编程,而不是针对实现编程。
打折方式依赖打折的抽象类(抽象类相当于计算价格,是稳定的)
依赖倒转原则要求我们在程序代码中传递参数时或在关联关系中,尽量引用层次高的抽象层类,即使用接口和抽象类进行变量类型声明、参数类型声明、方法返回类型声明,以及数据类型的转换等,而不要用具体类来做这些事情。
图片来源:
https://blog.csdn.net/lovelion/article/details/7819216