允許物件內部狀態改變時,同時改變行為模式。
換言之,就是透過傳入不同的物件(Object)來完成方法內容(Method)
舉個生活一點的例子就是說,
一個球隊內部(管理的物件),讓不同球員(內部物件)執行一樣的戰術(管理物件的方法)會有不同的結果
在正常應用上,是希望由外部狀態的改變時來同時改變物件內部行為。
來取代選擇性結構的使用,進而簡化內部方法的複雜程度。
而在開發上個人的運用習慣會更侷限在,
環境物件的屬性改變,來影響行為物件的行為方式做使用。
在GOF23種設計模式中 橋接模式、策略模式、狀態模式,
雖然這三者的設計結構是極為相似,
但在運用上時機上則完全不同。
橋接模式,
使用時機比較接近於軟體架構中中介層(middleware)的概念,
策略模式,
則是在同樣的流程底下以不同算法得出不同結果。
最後則是本篇所介紹到的狀態模式,
將錯綜複雜的流程結構轉為對應的狀態來處理。