成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

java - 代碼重復求改進方法

瀏覽:202日期:2023-12-05 16:47:01

問題描述

@Override public Option getTrafficChartOption(String type, ReportType reportType, Integer deviceId, Integer direction) {Integer device = deviceId + 1010000;List<ChartData> data = chartDao.getTrafficChartData(reportType,device,direction);String title = Titlehelper.getChartTitle(reportType);String subtitle = Titlehelper.gettrafficSubText(reportType.getReportTime(),deviceId,direction);Option option = new Option();switch (type){ case 'bar':option = BarOption.BarOptionBuiler(title, subtitle, data);break; case 'line':option = LineOption.OptionBuilerhelp(title, subtitle, data);break; case 'pie':option = PieOption.PieOptionbuilder(title, subtitle, data);break;}return option; } @Override public Option getAmmeterChartOption(String type, ReportType reportType, Integer deviceId) {List<ChartData> data = chartDao.getAmmeterDataChartData(reportType,deviceId);String title = Titlehelper.getChartTitle(reportType);String subtitle = Titlehelper.gettrafficSubText(reportType.getReportTime(),deviceId,1);Option option = new Option();switch (type){ case 'bar':option = BarOption.BarOptionBuiler(title, subtitle, data);break; case 'line':option = LineOption.OptionBuilerhelp(title, subtitle, data);break; case 'pie':option = PieOption.PieOptionbuilder(title, subtitle, data);break;}return option; }

代碼結構非常相似,只是dao層取數據不一樣,另外這個switch有沒有改進空間,我知道使用eumn來枚舉,沒寫以減少無關代碼

問題解答

回答1:

你的代碼是要創建Option類,適合使用工廠方法重構。

//方法參數盡量少于3個,3個以上時建議使用組合對象class OptionParam { private String type; private ReportType reportType; private Integer piceId; private Integer direction; //getter and setter}//Option抽象工廠,每個具體工廠都必須繼承自抽象工廠public abstract class AbstractOptionFactory { @Autowired ChartDao chartDao; //希望具體工廠實現的方法,交于具體工廠實現 abstract List<ChartData> getData(OptionParam optionParam); abstract String getSubtitle(OptionParam optionParam); //公共邏輯代碼,創建對象調用該方法 public Option create(OptionParam optionParam) {assert optionParam != null;assert optionParam.getReportType() != null;String type = optionParam.getType();List<ChartData> data = getData(optionParam);String title = Titlehelper.getChartTitle(optionParam.getReportType());String subtitle = getSubtitle(optionParam);Option option = new Option();switch (type) { case 'bar':option = BarOption.BarOptionBuiler(title, subtitle, data);break; case 'line':option = LineOption.OptionBuilerhelp(title, subtitle, data);break; case 'pie':option = PieOption.PieOptionbuilder(title, subtitle, data);break;}return option; }}@Componentclass TrafficChartOptionFactory extends AbstractOptionFactory { @Override List<ChartData> getData(OptionParam optionParam) {return chartDao.getTrafficChartData(optionParam.getReportType(),optionParam.getpiceId(),optionParam.getDirection()); } @Override String getSubtitle(OptionParam optionParam) {return Titlehelper.gettrafficSubText(optionParam.getReportType().getReportTime(),optionParam.getpiceId(),optionParam.getDirection()); }}@Componentclass AmmeterChartOptionFactory extends AbstractOptionFactory { @Override List<ChartData> getData(OptionParam optionParam) {return chartDao.getAmmeterDataChartData(optionParam.getReportType(), optionParam.getpiceId()); } @Override String getSubtitle(OptionParam optionParam) {return Titlehelper.gettrafficSubText(optionParam.getReportType().getReportTime(),optionParam.getpiceId(),1); }}

使用工廠方法的好處就不多說了,具體可以閱讀我的博客

回答2:

String title = Titlehelper.getChartTitle(reportType);String subtitle = Titlehelper.gettrafficSubText(reportType.getReportTime(),deviceId,1);Option option = new Option();switch (type){ case 'bar':option = BarOption.BarOptionBuiler(title, subtitle, data);break; case 'line':option = LineOption.OptionBuilerhelp(title, subtitle, data);break; case 'pie':option = PieOption.PieOptionbuilder(title, subtitle, data);break;}return option;

這幾行提取出來放在一個方法里調用不就行了

回答3:

可以試試模板設計模式吧,將通用的算法提取到父類中,不同的地方交給子類重寫。如果這樣的地方少些,還是提取一個公共方法,比較省事。

回答4:

樓上說的可行,提取公共部分封裝成一個公共方法。

回答5:

樓上說的提取公共方法簡單實用,一樓的答案太高深,需要好好琢磨一下

標簽: java
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
欧美一区二区三区免费| 国产日韩欧美一区| 亚洲欧美日韩精品一区二区| 亚洲欧洲日本在线| 欧美日韩亚洲一区二区三区在线观看| 日韩免费一区二区| 国产成人亚洲综合a∨婷婷图片 | 亚洲人成人一区二区在线观看| 波多野结衣中文字幕一区| 欧美精品第1页| 狠狠色丁香九九婷婷综合五月| 欧美在线一二三| 日本va欧美va欧美va精品| 久久夜色精品| 三级精品在线观看| 在线免费观看视频一区| 日韩国产欧美三级| 91久久精品日日躁夜夜躁欧美| 日韩高清不卡一区二区| 91久久线看在观草草青青| 日本女优在线视频一区二区| 一本色道久久加勒比精品| 免费一级欧美片在线观看| 在线看国产一区| 国模少妇一区二区三区| 91麻豆精品国产91久久久久久久久 | 久久久久亚洲蜜桃| 99在线精品一区二区三区| 精品国产乱码久久久久久夜甘婷婷| 国产在线麻豆精品观看| 欧美一卡二卡三卡四卡| 成人午夜免费视频| 久久久久久日产精品| 欧美精品尤物在线| 亚洲摸摸操操av| 国产精品久久久一区二区三区| 亚洲国产一区二区视频| 久久九九精品| 人禽交欧美网站| 欧美一区二区免费观在线| 成人av中文字幕| 欧美国产日韩亚洲一区| 亚洲看片免费| 日韩av网站在线观看| 91超碰这里只有精品国产| aaa亚洲精品一二三区| 国产精品视频免费看| 国产精品综合| 毛片不卡一区二区| 欧美成人一级视频| 亚洲精品一区二区三区精华液 | 91久久精品一区二区三区| 精品一区二区三区蜜桃| 欧美不卡一二三| 欧美日韩1080p| 亚洲 欧美综合在线网络| 日本电影欧美片| 国产成人亚洲综合a∨猫咪| 中文字幕欧美激情一区| 激情av综合网| 91精品国产免费| 亚洲天堂精品视频| 色又黄又爽网站www久久| 风流少妇一区二区| 亚洲欧洲精品一区二区三区不卡| 久久国产99| 国产成人综合亚洲网站| 国产精品嫩草99a| 色婷婷亚洲一区二区三区| 丰满岳乱妇一区二区三区| 国产精品网站导航| 夜夜爽av福利精品导航| 裸体一区二区三区| 久久亚洲精品小早川怜子| 国产一区导航| 国产九九视频一区二区三区| 美女爽到呻吟久久久久| 亚洲欧美日韩综合aⅴ视频| 鲁大师成人一区二区三区| 国产精品综合网| 亚洲女同女同女同女同女同69| 欧洲av一区二区嗯嗯嗯啊| av在线播放成人| 亚洲国产成人av| 欧美一级xxx| 亚洲国产精品日韩| 美日韩一级片在线观看| 久久蜜桃av一区二区天堂| 在线日韩av永久免费观看| 精品一二三四区| 亚洲欧洲精品一区二区精品久久久 | 国产精品中文有码| 亚洲另类春色校园小说| 4438成人网| 国产日韩精品视频一区二区三区| 国产乱子轮精品视频| **性色生活片久久毛片| 欧美日韩国产免费| 亚洲人成网站在线观看播放| 国产精品久久久久久久久久免费看| 在线免费观看日本一区| 国产精品v欧美精品v日韩| 久久丁香综合五月国产三级网站| 国产精品成人午夜| 69堂成人精品免费视频| 亚洲每日更新| 成人免费毛片app| 日韩电影在线免费| 欧美国产禁国产网站cc| 欧美精品一卡两卡| 亚洲一区不卡| 91丨九色丨蝌蚪丨老版| 狠狠久久亚洲欧美| 亚洲国产精品嫩草影院| 久久久久久一二三区| 欧美午夜精品一区二区三区| 在线精品一区| www.视频一区| 秋霞电影网一区二区| 亚洲日本在线观看| 精品国免费一区二区三区| 欧美这里有精品| 亚洲一区黄色| 欧美日韩免费观看一区=区三区| 国产剧情一区在线| 青草国产精品久久久久久| 亚洲黄色尤物视频| 中文字幕精品一区二区精品绿巨人| 日韩视频一区在线观看| 老牛国产精品一区的观看方式| 欧美片第1页综合| 成人av在线电影| 国产一区二三区| 蓝色福利精品导航| 午夜精品久久久久久久久| 综合久久给合久久狠狠狠97色| 久久精品欧美一区二区三区麻豆| 欧美一区二区三区的| 91行情网站电视在线观看高清版| 99xxxx成人网| 国产综合精品一区| 午夜日韩视频| 成人av在线资源网站| 国产精品中文字幕一区二区三区| 奇米综合一区二区三区精品视频| 亚洲乱码国产乱码精品精小说 | 色综合天天做天天爱| 国产又黄又大久久| 欧美日韩性生活| 久久久夜夜夜| 国产欧美日韩综合一区在线观看| 国产在线视频欧美一区二区三区| 95精品视频在线| 国产超碰在线一区| 国产伦精一区二区三区| 国内不卡的二区三区中文字幕| 九色综合狠狠综合久久| 日韩电影在线一区二区| 首页国产丝袜综合| 天堂成人国产精品一区| 亚洲精品日韩综合观看成人91| 日韩理论电影院| 亚洲天堂2014| 亚洲欧美一区二区三区极速播放| 国产精品情趣视频| 中文字幕一区日韩精品欧美| 中文字幕一区三区| 亚洲色图视频网| 国产精品国产三级国产aⅴ中文 | 欧美一级在线视频| 欧美一区二区三区男人的天堂 | 婷婷中文字幕综合| 视频一区中文字幕国产| 午夜国产精品影院在线观看| 亚洲一区二区三区视频在线 | 不卡免费追剧大全电视剧网站| 国产不卡在线播放| 成人在线一区二区三区| 成人avav影音| 欧美在线看片| 亚洲午夜av| 夜夜爽av福利精品导航| 麻豆亚洲精品| 欧美在线观看一二区| 欧美日产国产精品| 日韩一二三区视频| 欧美r级电影在线观看| 久久综合国产精品| 中文字幕免费不卡| 一区二区欧美国产| 午夜精品久久一牛影视| 免费高清在线视频一区·| 黄色成人免费在线| 粉嫩嫩av羞羞动漫久久久| 99在线精品一区二区三区| 欧美午夜电影在线观看| 99riav1国产精品视频| 色婷婷av一区二区三区软件| 欧美情侣在线播放| 久久综合狠狠综合久久激情 |