亚洲免费不卡_在线视频精品_国产尤物精品_久久久久网址_久久精品91_欧美va天堂在线_狠狠入ady亚洲精品_亚洲午夜精品福利_国产精品草草_午夜精品久久99蜜桃的功能介绍

代碼重構怎么做
來源:易賢網 閱讀:1564 次 日期:2015-03-23 15:28:17
溫馨提示:易賢網小編為您整理了“代碼重構怎么做”,方便廣大網友查閱!

這幾天,接手一個同事的代碼,關于微信接口開發的,那一堆的 if,看得哥蛋痛了,這個毛病也是很多新手容易犯的,所以特地把這次重構寫出來。

下面來我們看看這個代碼的問題所在,if else 里面的代碼塊邏輯,不好改,使得它的重用性為 0,并且難以閱讀。當然,如果 if 只有一兩個,或者3個,這樣寫是問題不大的。

但是如果多了,這種代碼便會讓維護變得困難起來。

if (strMsgType == "text")

{

textContentClient = rootElement.SelectSingleNode("Content").InnerText;

strResult = SetMsgType_Text(strClientName, textContentClient, db, strServerName, Identity);

System.Diagnostics.Trace.WriteLine(strResult);

return Content(strResult);

}

else if (strMsgType == "event")

{

string eventType = rootElement.SelectSingleNode("Event").InnerText.ToLower();

if (eventType == "subscribe")

{

string keyCode = "";

if (rootElement.SelectSingleNode("EventKey") != null)

keyCode = rootElement.SelectSingleNode("EventKey").InnerText.ToLower();

strResult = FormatEventSubscribe(keyCode);

RecordReplyMessage();

return Content(strResult);

}

else if (eventType == "scan")

{

string keyCode = rootElement.SelectSingleNode("EventKey").InnerText.ToLower();

var outLetName = "歡迎關注";

var outletDB = ShoppingContext.CreateInstance(Identity);

var outLetModel = outletDB.Outlets.FirstOrDefault(o => o.SceneId == Int32.Parse(keyCode));

if (outLetModel != null)

outLetName += outLetModel.Name;

return Content(GetTextTemp(strClientName, strServerName, outLetName));

}

else if (eventType == "click")

{

string keyCode = rootElement.SelectSingleNode("EventKey").InnerText.ToLower();

strResult = FomatMenuMessage(keyCode);

return Content(strResult);

}

else if (eventType == "unsubscribe")

{

var subIds = db.ReplyRecords.Where(r => r.FromOpenId == this.ClientId.ToString() && r.EMessType == EEventType.Subscribe.ToString() && r.KeyWord != null).Select(o => o.KeyWord).ToArray();

var unSubIds = db.ReplyRecords.Where(r => r.FromOpenId == this.ClientId.ToString() && r.EMessType == EEventType.Unsubscribe.ToString() && r.KeyWord != null).Select(o => o.KeyWord).ToArray();

var SencesId = "";

foreach (var k in subIds)

{

if (!unSubIds.Contains(k))

{

this.ReplyModel.KeyWord = k;

break;

}

}

this.ReplyModel.EMessType = EEventType.Unsubscribe.ToString();

RecordReplyMessage();

}

}

else if (strMsgType.ToLower() == "location")

{

string strLocation_X = rootElement.SelectSingleNode("Location_X").InnerText;

string strLocation_Y = rootElement.SelectSingleNode("Location_Y").InnerText;

strResult = FormatOutLetLBS(double.Parse(strLocation_X), double.Parse(strLocation_Y), 10);

//strResult = FormatTextMessage(strLocation_X + "|" + strLocation_Y);

return Content(strResult);

}

else if (strMsgType.ToLower() == "image")

{

string strImgUrl = rootElement.SelectSingleNode("PicUrl").InnerText;

}

一種比較好的處理方法就是把語句塊內的代碼抽出來,寫成函數,如下面所示:

public class MessageProcesser

{

public ReplyMessage Process(string xml)

{

var msg = PostMessage.FromXml(xml);

switch (msg.MsgType)

{

case Models.PostMessageType.Event:

var eventType = ((EventMessage)msg).Event;

switch (eventType)

{

case EventType.Click:

return ProcessClickEvent((ClickEvent)msg);

case EventType.Location:

return ProcessLocationEvent((LocationEvent)msg);

case EventType.Scan:

return ProcessScanEvent((ScanEvent)msg);

case EventType.Subscribe:

return ProcessSubscribeEvent((SubscribeEvent)msg);

case EventType.Unsubscribe:

return ProcessUnsubscribeEvent((UnsubscribeEvent)msg);

}

break;

case Models.PostMessageType.Image:

return ProcessImageMessage((ImageMessage)msg);

case Models.PostMessageType.Link:

return ProcessLinkMessage((LinkMessage)msg);

case Models.PostMessageType.Location:

return ProcessLocationMessage((LocationMessage)msg);

case Models.PostMessageType.Text:

return ProcessTextMessage((TextMessage)msg);

case Models.PostMessageType.Video:

return ProcessVideoMessage((VideoMessage)msg);

case Models.PostMessageType.Voice:

return ProcessVoiceMessage((VoiceMessage)msg);

}

return null;

}

protected virtual ReplyMessage ProcessClickEvent(ClickEvent msg)

{

return DefaultProcess(msg);

}

protected virtual ReplyMessage ProcessLocationEvent(LocationEvent msg)

{

return DefaultProcess(msg);

}

protected virtual ReplyMessage ProcessScanEvent(ScanEvent msg)

{

return DefaultProcess(msg);

}

protected virtual ReplyMessage ProcessSubscribeEvent(SubscribeEvent msg)

{

return DefaultProcess(msg);

}

protected virtual ReplyMessage ProcessUnsubscribeEvent(UnsubscribeEvent msg)

{

return DefaultProcess(msg);

}

protected virtual ReplyMessage ProcessImageMessage(ImageMessage msg)

{

return DefaultProcess(msg);

}

protected virtual ReplyMessage ProcessLinkMessage(LinkMessage msg)

{

return DefaultProcess(msg);

}

protected virtual ReplyMessage ProcessLocationMessage(LocationMessage msg)

{

return DefaultProcess(msg);

}

protected virtual ReplyMessage ProcessTextMessage(TextMessage msg)

{

return DefaultProcess(msg);

}

protected virtual ReplyMessage ProcessVideoMessage(VideoMessage msg)

{

return DefaultProcess(msg);

}

protected virtual ReplyMessage ProcessVoiceMessage(VoiceMessage msg)

{

return DefaultProcess(msg);

}

protected virtual ReplyMessage DefaultProcess(PostMessage msg)

{

var reply = new TextReply(msg);

if (msg.MsgType == PostMessageType.Event)

{

reply.Content = string.Format("{0} event is not processed.", ((EventMessage)msg).Event);

}

else

{

reply.Content = string.Format("{0} message is not processed.", msg.MsgType);

}

return reply;

}

}

更多信息請查看IT技術專欄

更多信息請查看技術文章
易賢網手機網站地址:代碼重構怎么做
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點

版權所有:易賢網

亚洲免费不卡_在线视频精品_国产尤物精品_久久久久网址_久久精品91_欧美va天堂在线_狠狠入ady亚洲精品_亚洲午夜精品福利_国产精品草草_午夜精品久久99蜜桃的功能介绍
亚洲国产精品综合| 国产午夜久久| 免费一级欧美片在线播放| 国产精品主播| 欧美理论在线| 亚洲神马久久| 欧美三区不卡| 久久国产高清| 亚洲国产婷婷香蕉久久久久久99| 国产精品色网| 欧美日韩影院| 亚洲欧美清纯在线制服| 欧美精品一卡| 免费永久网站黄欧美| 激情婷婷亚洲| 女人香蕉久久**毛片精品| 在线观看视频免费一区二区三区| 奶水喷射视频一区| 伊甸园精品99久久久久久| 久久av一区二区三区亚洲| 在线播放一区| 欧美凹凸一区二区三区视频| 国产亚洲欧美一区二区三区| 国内一区二区在线视频观看 | 国产日韩欧美一区二区| 狂野欧美一区| 国产精品午夜av在线| 亚洲欧洲久久| 亚洲国产精品久久久久婷婷老年| 女女同性女同一区二区三区91| 国产精品久久一区二区三区| 亚洲国产欧美日韩| 一区在线播放| 亚洲成人资源| 在线观看成人av| 亚洲视频高清| 国内精品久久久久久久97牛牛 | 99国产精品| 亚洲小说区图片区| 亚洲视频久久| 狠狠色狠狠色综合日日tαg| 欧美日韩高清免费| 欧美涩涩视频| 激情久久五月| 亚洲经典自拍| 国产日韩精品视频一区二区三区| 999在线观看精品免费不卡网站| 亚洲国产日韩欧美| 999在线观看精品免费不卡网站| 亚洲精品日韩在线观看| 亚洲国产精品一区| 妖精视频成人观看www| 国产日本精品| 欧美在线播放一区二区| 欧美日韩99| 亚洲精品123区| 国产农村妇女精品一二区| 亚洲影院免费| 久久精品导航| 伊人婷婷久久| 中文网丁香综合网| 美女网站久久| 黄色成人91| 国产日韩欧美一区在线| 久久天堂成人| 亚洲精品裸体| 女女同性女同一区二区三区91 | 国产一区二区三区四区老人| 欧美日韩综合另类| 亚洲久久一区二区| 麻豆9191精品国产| 激情久久中文字幕| 国产精品久久久对白| 久久一区欧美| 在线成人www免费观看视频| 国产精品女主播一区二区三区| 久久国产精品高清| 在线观看一区视频| 久久亚洲一区| 中国成人亚色综合网站| 久久黄色网页| 99亚洲一区二区| 女人天堂亚洲aⅴ在线观看| 精品动漫3d一区二区三区免费版| 先锋影音久久| 妖精视频成人观看www| 午夜国产精品视频免费体验区| 亚洲茄子视频| 国产精品对白刺激久久久| 亚洲一区在线直播| 99av国产精品欲麻豆| 欧美日韩亚洲免费| 久久不射2019中文字幕| 99精品热6080yy久久| 欧美午夜电影在线观看| 久久九九国产| 亚洲一区二区三区免费在线观看| 伊人成人在线视频| 国产一区观看| 国产精品高清一区二区三区| 亚洲欧美日韩精品一区二区| 亚洲全部视频| 亚洲国产精品123| 好吊色欧美一区二区三区视频| 亚洲一区日韩| 国产精品亚洲产品| 一区二区三区三区在线| 亚洲久久在线| 一区二区激情| 国产精品久久久久久久久婷婷| 雨宫琴音一区二区在线| 精品电影一区| 亚洲先锋成人| 亚洲三级色网| 一区二区三区四区五区精品视频| 亚洲精品美女| 一区二区三区国产在线| 一本久道综合久久精品| 99亚洲一区二区| 中文精品视频一区二区在线观看| 一区二区免费在线视频| 中文在线一区| 性欧美videos另类喷潮| 免费国产自线拍一欧美视频| 久久久久一区二区| 欧美日韩综合精品| 一区免费视频| 国产精品入口66mio| 亚洲一区一卡| 亚洲欧美文学| 亚洲国产专区校园欧美| 99精品视频网| 久久久久国产精品一区二区 | 一区在线视频| 亚洲激情不卡| 欧美亚洲一区| 亚洲无吗在线| 亚洲在线视频| 韩国av一区| 国产欧美二区| 欧美天天在线| 日韩亚洲视频在线| 久久综合图片| 亚洲美女黄网| 欧美区亚洲区| 国产精品日韩精品欧美精品| 欧美91大片| 亚洲大片av| 久久久久久久高潮| 999在线观看精品免费不卡网站| 国产精品毛片在线| 快she精品国产999| 99国内精品| 午夜视频久久久| 日韩亚洲一区在线播放| 久久狠狠婷婷| 亚洲精品免费观看| 欧美精品成人| 麻豆91精品| 国产欧美日韩一级| 国产精品成人一区二区网站软件| 国产亚洲永久域名| 亚洲国产激情| 国产精品草草| 久热精品在线| 欧美一级视频| 国产精品久久波多野结衣| 欧美日韩爆操| 欧美在线不卡| 久久精品中文字幕一区二区三区| av成人国产| 狠狠88综合久久久久综合网| 久久久久一区二区| 免费亚洲一区二区| 国产精品日韩| 国产精品日本欧美一区二区三区| 136国产福利精品导航网址| 欧美日韩一区二区三区在线视频| 久久综合伊人| 牛牛国产精品| 欧美激情aⅴ一区二区三区| 久久国产精品久久w女人spa| 一区二区三区四区五区精品| 91久久亚洲| 一本色道久久综合| 亚洲精品影院在线观看| 亚洲理论在线| 国产精品日本一区二区 | 久久一二三区| 久久青青草综合| 久久激情一区| 欧美国产综合| 国产精品高清一区二区三区| 欧美精品日韩| 激情视频一区二区| 精品成人在线| 国产精品入口| 久久久精品五月天| 欧美激情麻豆| 影音先锋亚洲电影| 国产三区二区一区久久| 国产伦精品一区二区三区视频孕妇| 国产欧美亚洲日本| 久久久99国产精品免费| 欧美激情自拍| 亚洲高清激情| 蘑菇福利视频一区播放| 欧美区高清在线| 亚洲激情国产| 男人天堂欧美日韩| 欧美午夜免费影院| 亚洲精品社区| 久久精品国语| 精品动漫av| 麻豆精品网站| 激情婷婷欧美| 久久久久看片| 亚洲欧洲日本mm| 久久天天狠狠| 日韩午夜av在线| 欧美 日韩 国产一区二区在线视频| 欧美色图麻豆| 中文久久精品| 国产综合婷婷| 久久九九免费| 亚洲免费播放| 国模精品娜娜一二三区| 午夜亚洲一区| 亚洲国产婷婷| 欧美日韩在线大尺度| 在线一区欧美| 欧美日韩在线高清| 西西裸体人体做爰大胆久久久| 欧美理论在线| 亚洲综合不卡| av不卡在线| 在线欧美不卡| 国外成人免费视频| 巨乳诱惑日韩免费av| 亚洲一区二区在线看| 尹人成人综合网| 欧美日韩综合久久| 男人的天堂亚洲在线| 夜夜精品视频| 亚洲免费成人| 日韩视频在线观看国产| 亚洲天堂激情| 亚洲视频中文| 好吊视频一区二区三区四区| 久久先锋影音| 久久国产精品毛片| 国产精品一区视频网站| 99pao成人国产永久免费视频| 国产精品多人| 国模吧视频一区| 欧美日本亚洲| 国产精品va| 国产精品hd| 欧美亚洲不卡| 亚洲天堂偷拍| 日韩视频在线观看国产| 亚洲欧洲精品一区| 99这里有精品| 国产精品亚洲产品| 香蕉久久a毛片| 久久免费黄色| 欧美特黄a级高清免费大片a级| 欧美日本二区| 亚洲图色在线| 亚洲久久在线| 亚洲欧美视频| 欧美精品色网| 亚洲精品免费观看| 亚洲影视在线| 欧美日产一区二区三区在线观看| 欧美三级视频| 亚洲高清在线播放| 一本色道久久精品| 久久不射网站| 国产在线视频欧美一区二区三区| 亚洲高清免费| 亚洲综合国产| 亚洲欧美在线网| 伊人精品视频| 国产精品夜夜夜| 欧美激情视频一区二区三区在线播放| 欧美日韩精品久久| 9色精品在线| 久久亚洲精品欧美| 亚洲亚洲精品三区日韩精品在线视频| 亚洲高清网站| 免费看的黄色欧美网站| 欧美午夜精品| 亚洲一区三区在线观看| 久久综合伊人| 尹人成人综合网| 免费在线日韩av| 在线看片欧美| 欧美~级网站不卡| 亚洲精美视频| 欧美日韩国产高清| 国产乱人伦精品一区二区| 午夜欧美理论片| 国产精品久久亚洲7777| 国产精品mm| 久久久福利视频| 99精品99久久久久久宅男| 午夜国产精品视频| 国产精品手机在线| 亚洲黄色av| 国产精品chinese| 久久不射网站| 国产一区导航| 亚洲人人精品| 伊人久久婷婷色综合98网| 欧美激情1区2区3区| 亚洲视频1区| 91久久久久| 一区国产精品| 欧美日韩中文| 欧美 日韩 国产一区二区在线视频 | 国模一区二区三区| 久久国产精品久久精品国产| 99热在线精品观看| 在线国产精品一区| 国产精品扒开腿做爽爽爽软件| 久久精品系列| 久久久久91| 久久国产精品久久w女人spa| 国产欧美日韩综合一区在线播放| 在线不卡欧美| 亚洲大胆在线| 伊人精品成人久久综合软件| 欧美午夜欧美| 狠狠色狠狠色综合人人| 欧美日韩三区| 国内精品久久久久久久影视蜜臀 | 欧美视频久久| 欧美精品aa| 国产一区在线免费观看| 欧美区一区二| 国内精品福利| 亚洲经典三级| 亚洲精品国产系列| 中文精品在线| 久久大香伊蕉在人线观看热2| 性伦欧美刺激片在线观看| 先锋影音久久| 欧美精品播放| 亚洲黄色成人| 99精品福利视频| 国产精品一区二区三区免费观看| 国产一区二区三区久久| 午夜在线视频观看日韩17c| 久久国产主播| 国产一区欧美| 亚洲精品三级| 久久经典综合| 国产精品国色综合久久| 亚洲精选在线| 久久亚洲精品欧美| 亚洲私人影院| 国产精品一卡| 欧美日韩视频| 99精品视频免费观看| 美女久久一区| 激情婷婷久久| 午夜影院日韩| 亚洲性图久久| 亚洲一区二区在| 韩国精品一区二区三区| 亚洲一区二区三区涩| 午夜精品亚洲| 国产偷久久久精品专区| 欧美久久久久久| 亚洲一卡久久| 国产在线日韩| 性伦欧美刺激片在线观看| 国产精品国产三级欧美二区| 亚洲在线观看| 亚洲国产二区| 欧美日韩三级| 国产毛片一区| 亚洲经典在线| 国产综合色一区二区三区| 翔田千里一区二区| 精品成人在线| 久久永久免费| 国产麻豆综合| 99在线精品视频在线观看| 久久综合网络一区二区| 国产亚洲在线观看| 国内一区二区在线视频观看| 久久久精品午夜少妇| 夜夜嗨av一区二区三区网站四季av| 午夜精品999| 久久精品一区二区三区中文字幕 | 宅男噜噜噜66一区二区| 狠狠色伊人亚洲综合网站色| 久久一综合视频|