日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 互聯網 > Java 下各種設計模式小結

Java 下各種設計模式小結

來源:程序員人生   發布時間:2014-10-11 08:00:00 閱讀次數:3068次

策略模式――定義算法族,分別封裝起來,讓它們之間可以互相替換,此模式讓算法的變化獨立于使用算法的客戶。
    策略模式是說,針對一種計算,定義一系列的算法,由用戶決定具體使用哪一個算法完成計算。

 

    比如,提供一個計算銀行存款利率的接口,對于不同的存款方式(活期、一年定期、兩年定期),提供不同的算法實現類,由用戶決定使用哪種存款方式來計算利率。如果銀行計算利率的算法發生了變化(如又增加了三年定期、五年定期的算法),對于用戶的使用不產生任何影響,因為用戶使用的是統一的計算接口,也符合了針對接口編程,不針對實現編程的設計原則。

 

定義一個計算存款利率的接口:

Java代碼  收藏代碼
  1. public interface IRateCalculator {  
  2.     public double calculate(double amount);  
  3. }  

 計算活期存款利率的實現類:

Java代碼  收藏代碼
  1. public class CurrentRateCalcalator implements IRateCalculator {  
  2.   
  3.     private double rate = 0.035;  
  4.       
  5.     /** 
  6.      * 計算活期存款利率 
  7.      */  
  8.     @Override  
  9.     public double calculate(double amount) {  
  10.         return amount * rate;  
  11.     }  
  12. }  

 計算一年定期存款利率的實現類:

Java代碼  收藏代碼
  1. public class OneYearRateCalculator implements IRateCalculator {  
  2.       
  3.     private double rate = 0.0325;  
  4.       
  5.     /** 
  6.      * 計算一年定期存款利率 
  7.      */  
  8.     @Override  
  9.     public double calculate(double amount) {  
  10.         return amount * rate;  
  11.     }  
  12. }  

 計算兩年定期存款利率的實現類:

Java代碼  收藏代碼
  1. public class TwoYearRateCalculator implements IRateCalculator {  
  2.   
  3.     private double rate = 0.0375;  
  4.       
  5.     /** 
  6.      * 計算兩年定期存款利率 
  7.      */  
  8.     @Override  
  9.     public double calculate(double amount) {  
  10.         return amount * rate;  
  11.     }  
  12. }  

 

測試類:

Java代碼  收藏代碼
  1. public class Test {  
  2.     /** 
  3.      * 策略模式――定義算法族,分別封裝起來,讓它們之間可以互相替換,此模式讓算法的變化獨立于使用算法的客戶。 
  4.      *  
  5.      * 針對一種計算,定義一系列的算法,由用戶決定具體使用哪一個算法完成計算。 
  6.      * @param args 
  7.      */  
  8.     public static void main(String[] args) {  
  9.         //假設有100塊錢的本金  
  10.         double amount = 100;  
  11.         double rate;  
  12.         IRateCalculator rateCalculator;  
  13.           
  14.         //計算活期存款利率  
  15.         rateCalculator = new CurrentRateCalcalator();  
  16.         rate = rateCalculator.calculate(amount);  
  17.         System.out.println("活期存款利率為:" + rate);  
  18.           
  19.         //計算一年定期存款利率  
  20.         rateCalculator = new OneYearRateCalculator();  
  21.         rate = rateCalculator.calculate(amount);  
  22.         System.out.println("一年定期存款利率為:" + rate);  
  23.           
  24.         //計算兩年定期存款利率  
  25.         rateCalculator = new TwoYearRateCalculator();  
  26.         rate = rateCalculator.calculate(amount);  
  27.         System.out.println("兩年定期存款利率為:" + rate);  
  28.     }  
  29. 生活不易,碼農辛苦
    如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
    程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 久久久久久毛片 | 黄色成人小视频 | 91精品久久久久久久久久入口 | 成人香蕉视频 | 国产精品日韩在线观看 | www.欧美| 久久久久久亚洲蜜桃 | 自拍偷拍亚洲精品 | 蜜乳av网站 | 久久久午夜精品理论片中文字幕 | www久久久 | 欧美激情在线精品一区二区三区 | 久久99国产精品 | 能看的av| 久久午夜影院 | 欧美日韩精品一区二区三区 | 蜜桃一区二区在线观看 | 欧美一区二区三区在线视频 | 最新的中文字幕 | 日韩在线观看视频免费 | 国产福利视频导航 | 欧美日韩精品 | 成人性生交大片免费看在线播放 | 国产亚洲欧美一区 | 水蜜桃一区二区三区 | 一区二区三区四区在线观看视频 | 蜜桃精品久久久久久久免费影院 | 国产精品视频在线观看 | 国产成人精品免费视频 | 中文在线免费视频 | 中文字幕在线不卡 | 色免费在线| 不卡在线一区 | 吞噬星空在线观看 | 国产欧美精品 | 久久1区 | 亚洲午夜视频在线观看 | 亚洲在线一区 | 国产精品麻豆欧美日韩ww | 国产成人精品午夜 | 欧美专区一区 |