條件語句重構分析 "策略模式重構條件語句" "狀態模式重構條件語句" "多態重構條件語句" 其實這三種方式都是基於多態實現的,直接加上了各個的特性罷了。策略模式相比較狀態模式,前者由客戶端傳入所有的選擇項,而後在Context環境類中選擇具體的選項、後者則是在Context狀態管理器中根據客戶端傳入 ...
條件語句重構分析
策略模式重構條件語句
狀態模式重構條件語句
多態重構條件語句
其實這三種方式都是基於多態實現的,直接加上了各個的特性罷了。策略模式相比較狀態模式,前者由客戶端傳入所有的選擇項,而後在Context環境類中選擇具體的選項、後者則是在Context狀態管理器中根據客戶端傳入的選擇通過SetAddress切換狀態。這兩者充分體現了其模式的特定——策略模式是客戶端已經知道了所有的演算法再去選擇,而狀態模式相當於是一個黑盒子,根據客戶端的選擇在環境類中做切換。而多態的實現,則是更簡單"粗暴",相比較前兩者,在中間解耦類(也就是Context)中,並沒有太多的處理,利用OOP的多態性來響應客戶端的選擇。