定義一系列的演算法(策略)將其封裝成一個類別
這個設計模式主要的功能是讓程式在同一個流程底下,
可依據不同的場景(狀態)來完成不同的行為。
策略模式與前面介紹到的橋接模式、狀態模式 三者的設計結構十分相似。
若不已使用時機來分的話,個人認為三者其實算是同一種模式。
而在實用性上,三者中個人覺得策略模式最實用的模式。
不論是在決策時因應不同狀況採取不同策略,
或是對於多種不同物件給予不同行為模式,
都是運用策略模式的好時機。
狀態模式與橋接模式則是比較容易被其他的設計方式給替代掉,
例如狀態模式可以用觀察者模式替代,
而橋接模式的運用可能會透過軟體設計的架構方式來替代。