模式概述
策略模式是一种行为设计模式,它通过定义一系列操作,并将每种操作放到独立的类中,以使操作的对象能够相互替换。
问题
李星云最近打算做一款基于娆疆的导游应用,它可以提供精准的地图,帮助后来者快速地找到十二峒所在。
程序的首个版本只能规划高速公路路线,因此自驾游的用户非常满意。但很显然,并非所有人都打算开车去。所以他在新版本中加入了骑行路线,后来又添加了步行导航路线。
由于应用越来越受欢迎,不久之后,需要为娆疆中的所有景点规划路线了。
尽管从商业角度看它成功了,但现在李星云却十分头疼,因为在每次添加新的路线规划算法后,应用中主要类的体积就会增加一倍。终于,他觉得自己已经没法继续维护这堆代码了。
原创大约 5 分钟