多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

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

Java 下各種設計模式小結

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

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

 

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

 

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

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. 生活不易,碼農辛苦
    如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
    程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 痴女在线播放免费视频 | 国产日韩不卡免费精品视频 | 2022国产精品福利在线观看 | 羞羞动漫在线看 | 性久久久久久久 | 欧美三级成人理伦 | 亚洲精品视频在线看 | c看欧美激情毛片 | 在线观看日韩欧美 | 日本在线看免费 | 午夜免费福利在线 | 五月激情婷婷综合 | 国产精品亚洲片在线观看麻豆 | 久青草青综合在线视频 | 亚洲免费色视频 | 狠狠躁夜夜躁人人躁婷婷视频 | 激情爽毛片私人影院 | 最近中文字幕无吗免费高清 | 一二三四在线播放免费视频中国 | 男女污污的视频 | 最猛黑人xxxⅹ黑人猛交 | 日韩欧美一区二区三区不卡在线 | 国产精品久久久久久久午夜片 | 最近中文字幕免费完整国语 | 福利一区三区 | 久久国产精品亚洲一区二区 | 国产日韩久久 | 最近中文字幕高清字幕在线视频 | 中文字幕在线国产 | 2020国产v亚洲v天堂高清 | 国产在线拍揄自揄视精品不卡 | 国产精品一区二区三区免费视频 | 成人免费性视频 | 亚洲精品系列 | 国内国内在线精品视频 | 免费在线观看视频a | 精品国产一区二区 | 日本高新1区2区3区 日本国产亚洲 | 久久99爱爱| 国产免费一区不卡在线 | avtt在线播放|