策略模式主要是用來解決**裡面的多重if判斷問題的。我們知道設計模式需要對擴充套件開放,對修改關閉。而我們在寫**的時候進行了多重if判斷不僅使**的可讀性非常差,而且在每次新增加乙個內容就需要修改一次if判斷對**本身修改,違反了對修改關閉的原則。我們這個時候就需要使用策略模式
首先簡單舉個例子:
public object pay(string paycode)else if("wechat_pay".equals(paycode))else if ("xiaomi_pay".equals(paycode))
}
下面是偽**實現:
資料庫物件
@data
public class paychannel
支付類
public inte***ce paystrategy
public class alipaystrategy implements paystrategy
}
下面是核心呼叫類
public class paycontextstrategy
}
使用
public class paycontroller
}
以上就是乙個簡單的策略模式偽**,希望對大家有所幫助。
畫圖工具使用的迅捷流程圖,挺好用的終生會員價才38,大家可以看看。
設計模式之策略模式
include using namespace std 飛行行為介面類 class flystrategy 高空飛行行為具現類 class heightfly public flystrategy virtual void fly private heightfly 低空飛行行為具現類 class ...
設計模式之 策略模式
策略模式 strategy pattern 定義了演算法家族,分別封裝起來,讓他們之間可以互相替換,此模式讓演算法的變化,不會影響到使用演算法的客戶。策略模式是一種定義了一系列演算法的方法,從概念上來看,所以得這些演算法完成的都是相同的工作,只是實現不同,它可以以相同的方式呼叫所有的演算法,減少了各...
設計模式之策略模式
何為策略,就是可以實現目標的方案集合。而完成一項任務有不同的方式,每一種方式稱為乙個策略。策略模式就是定義一系列演算法,將每乙個演算法封裝起來,並讓他們可以相互替換。很簡單的乙個例子 年底移動公司推出很多的活動,比如說 存話費贈食用油,交話費贈話費,買手機贈話費 等等。推出這些個活動目的就只有乙個,...