小A:“狀態模式和策略模式有什麼不同?”
大B:“狀態模式側重狀態方面,一般不會接受新的狀態對象,即系統已經定義足夠的狀態。策略側重不同的行爲的改變在統一的接口下,強調多態下面行爲的執行過程,處理過程,可以從用戶那裡接受參數,只要用戶提供的策略符合接口。”
小A:“與模版模式又有什麼不同呢?”
大B:“模版模式就是算法在父類中,子類不會完全改寫算法,可以改寫部分,或稱關鍵部分,但整體的算法不變,可以節省大量代碼。策略模式所有的算法均在子類中完成,強調行爲即算法的不同,可以使程序更靈活。”
小A:“狀態模式和策略模式有什麼不同?”
大B:“狀態模式側重狀態方面,一般不會接受新的狀態對象,即系統已經定義足夠的狀態。策略側重不同的行爲的改變在統一的接口下,強調多態下面行爲的執行過程,處理過程,可以從用戶那裡接受參數,只要用戶提供的策略符合接口。”
小A:“與模版模式又有什麼不同呢?”
大B:“模版模式就是算法在父類中,子類不會完全改寫算法,可以改寫部分,或稱關鍵部分,但整體的算法不變,可以節省大量代碼。策略模式所有的算法均在子類中完成,強調行爲即算法的不同,可以使程序更靈活。”