图片说明
图片说明
图片说明

动态看待软件设计问题,策略中可能随着时间变化,支持其他算法。

直接使用枚举的话,在添加新的算法时违背开闭原则(对扩展开放,对更改关闭),在更改完成后需要重新编译测试部署文件。

复用指的是编译部署之后的二进制文件

代码具有很好的本地性,如果有很多的if-else,但是很大一部分不会使用,但是还是会占用cpu缓存,这是很大的浪费。

图片说明
图片说明
图片说明
图片说明
##红色为稳定部分,蓝色为变化部分
图片说明
图片说明