策略模式,即规则在变化之中,结果终归为一。
公司给员工计算工资,如有加班费,差旅费,每个月的生活补帖等等其它费用需要计算。
这个费的规则是不尽相同。
不管策略的规则怎样,终归需要计算出一个结果 工资:
可以定义一个接口:
interface IStrategy { double Cost(double basePay); }
Source Code
下面举个实例,每个月生活补帖:
class Living : IStrategy { public double Cost(double basePay) { return basePay * 400; } }
Source Code
差旅费,每天补助:
class Travelling : IStrategy { public double Cost(double basePay) { return basePay * 180; } }
Source Code
你将所有策略均需要实现策略接口。
这样子,计算工资时,把每一个项目进行计算:
class Calc { IStrategy _strategy; public void CalcProject(IStrategy strategy) { this._strategy = strategy; } public void OutputResult(double basePay) { Console.WriteLine(_strategy.Cost(basePay)); } }
Source Code
测试一下写好的程序:
點擊查看更多內(nèi)容
為 TA 點贊
評論
評論
共同學(xué)習(xí),寫下你的評論
評論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦