【Java设计模式】策略模式
生活随笔
收集整理的這篇文章主要介紹了
【Java设计模式】策略模式
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
(轉載請注明出處:http://blog.csdn.net/buptgshengod)
1.背景知識
? ?策略模式作為一種軟件設計模式,指對象有某個行為,但是在不同的場景中,該行為有不同的實現(xiàn)算法。比如每個人都要“交個人所得稅”,但是“在美國交個人所得稅”和“在中國交個人所得稅”就有不同的算稅方法。策略模式將不同的算法封裝起來,根據(jù)客戶端的需求,調用不同的對象使用不同的算法,節(jié)省了大量的if-else之類的代碼量。
2.實現(xiàn)
本例由三種算法組成,算法一是將數(shù)字乘以1,算法二是乘以2,算法三是乘以3??蛻舳苏{用第二種算法。 Calculate.java -三種算法的接口 public interface Calculate { /** 算法接口,返回具體的算法*/public int calnumber(int number);}FirstCalculate.java-第一種算法,其余兩種算法略 public class FirstCalculate implements Calculate {@Overridepublic int calnumber(int number) {// TODO Auto-generated method stubSystem.out.println("算法一");return number;}}
Context.java-設定算法的使用環(huán)境 public class Context {Calculate cal; /** 構造函數(shù),設定使用的算法對象*/public Context(Calculate cal){this.cal=cal;} /** 將數(shù)據(jù)傳入對應算法*/public int SetNumber(int number){return cal.calnumber(number);} }
Client.java-入口函數(shù) public class Client {public static void main(String[] args) { Calculate cal=new SecondCalculate();Context con=new Context(cal);int result=con.SetNumber(300);System.out.println(result);} }
結果
3.例子源代碼
點擊下載源碼
總結
以上是生活随笔為你收集整理的【Java设计模式】策略模式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【android-tips】instal
- 下一篇: 【Java设计模式】装饰模式