In theory, the Strategy Pattern means:
A family of algorithms, encapsulates each one, and makes them interchangeable. Strategy lets the algorithm vary independently from the clients that use it.
Strategy Pattern Tutorial with Java Examples
Strategy Design Pattern - Explained With A Real World Example (C#)
生活中的例子:
小张想从上海人民广场去上海虹桥火车站,在上海,去虹桥火车站的方式有很多,比如乘地铁,公交,出租车和黑车。在去火车站的途中,小张想乘坐不同的交通工具到达火车站,比如从人民广场做2号线到中山公园,然后从中山公园换成出租车去火车站。
1.满足多种算法(地铁、公交、出租……)
2.满足动态改变算法(起点:地铁–>出租车 –> 公交车:终点)