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

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php框架 > 框架設計 > 設計模式――策略模式

設計模式――策略模式

來源:程序員人生   發布時間:2015-03-13 08:14:56 閱讀次數:3288次

場景設置

設計1個計算器,有+、-、*、/。

策略模式的主要思想在于,將所有的可供選擇的算法封裝,通過1個統1的容器傳入予以調用。比如:
我有1個計算用的接口,往里面插入計算器,計算器中有加法器、減法器等等,這些就是策略,我把策略包裝好,放入計算器進行調用,計算器再插入接口便可。
因此基于該模式的代碼應以下:
計算接口:

interface Operation{ public int calculate(int a, int b); }

策略應當實現Strategy接口使得所有策略保持類型1致,并具有統1的調用方法:

class AddStrategy implements Strategy{ @Override public int operate(int a, int b) { return a+b; } } class MinusStrategy implements Strategy{ @Override public int operate(int a, int b) { return a-b; } }

計算器應當實現Operation接口,用來履行calculate

class Calculator implements Operation{ private Strategy strategy = null; public void setStrategy(String tag){ if(tag.equals("+")){ strategy = new AddStrategy(); } if(tag.equals("-")){ strategy = new MinusStrategy(); } } @Override public int calculate(int a, int b) { return strategy.operate(a,b); } }

最后,調用計算器可以下編寫:

public static void main(String[] args){ Calculator calculator = new Calculator(); calculator.setStrategy("+"); calculator.calculate(1,2); }

策略模式就是用來封裝算法的,實踐中可以用它來封裝幾近任何類型的規則,只要在分析進程入耳到需要在不同時間利用不同的業務規則,就能夠斟酌使用策略模式處理這類變化的可能性。
在基本的策略模式中,選擇所用具體實現的職責由客戶端對象承當,并傳給策略模式的Calculate對象。
但是,對策略的增加和修改,還是需要修改Calculate這個類,正所謂任何的變更都是需要本錢的。

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 欧美色综合天天综合高清网 | 久久精品国产主播一区二区 | 成 黄 色 激 情视频网站 | 欧美不卡视频在线 | 亚亚洲乱码一二三四区 | 全黄大全大色全免费大片 | 欧美一区二区三区在线观看免费 | 最近高清中文字幕大全免费1 | 午夜精品久久久久久久2023 | h在线看| 可以看的黄色网址 | 伊人国产精品 | 国产成人精品日本亚洲18图 | 久久这里都是精品 | 精品一精品国产一级毛片 | 久久456| 国产乱码精品一区二区三区卡 | 中国jizz妇女jizz妇女 | 亚州都市春色校园小说另类 | 亚洲国产天堂久久综合图区 | 国产精品国产三级国产普通话对白 | 午夜欧美成人久久久久久 | 可以免费看黄色的网站 | 日本一级黄色大片 | 国产精品一区二区四区 | 五月婷婷伊人 | 亚洲精品久久久久久久网站 | 国产一二三四区中 | 精品国产一区二区三区www | 成人做爰免费视频免费看 | 久久久久欧美精品网站 | 色聚网 | 成 人免费视频l免费观看 | 性欧美bbbbbb | 亚洲视频一区在线观看 | 图片专区亚洲 欧美 另类 | 国产一起色一起爱 | 欧美人与禽xoxo牲伦交 | 久久精品国产亚洲麻豆 | 国产精品视频在线观看 | 2022精品天堂在线视频 |