一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

引入間接隔離變化(一)

  David Wheeler有一句名言:“計(jì)算機(jī)科學(xué)中的大多數(shù)問題都可以通過增加一層間接性來解決。”間接代表著迂回。世間沒有哪一條道路是完全筆直的。蜿蜒曲折的道路并非出于美的靈感,不過是因?yàn)槲覀冃枰@開路途中的障礙罷了。

  我們?cè)谠O(shè)計(jì)中遇到的最大障礙,無疑就是變化。若能御變化于實(shí)現(xiàn)之外,軟件開發(fā)就會(huì)變得美好。

  應(yīng)對(duì)變化的要訣是隔離。設(shè)計(jì)者需要界定對(duì)象的不變部分與可變部分,然后將可變部分隱藏起來,即使發(fā)生了變化,也不會(huì)影響到外部。這就是封裝的含義。正如地殼核心的變化如此的狂暴與迅捷,但對(duì)于地面上生活的人類而言,幾乎微不可察。然而,一旦地殼的變化沖出地表,就會(huì)釀成天大的災(zāi)難。變化對(duì)軟件系統(tǒng)造成的災(zāi)難,并不亞于地震或者火山。封裝為對(duì)象內(nèi)部的實(shí)現(xiàn)設(shè)定了一層隔離帶,將復(fù)雜變化的業(yè)務(wù)邏輯或者算法策略隱藏在對(duì)象之內(nèi)。只要保證對(duì)象的接口不發(fā)生變化,調(diào)用者與對(duì)象內(nèi)部的實(shí)現(xiàn)就可以單獨(dú)演化了。

  當(dāng)我們發(fā)現(xiàn)一個(gè)對(duì)象需要依賴另一個(gè)不穩(wěn)定的對(duì)象,同時(shí),還需要執(zhí)行復(fù)雜的交互邏輯時(shí),就可以考慮引入一個(gè)新的對(duì)象來封裝這些邏輯,從而解除二者之間的耦合,隔離變化。Spring MVC中的ModelAndView對(duì)象扮演的正是這一角色。根據(jù)MVC模式,控制器需要將模型對(duì)象所持有的數(shù)據(jù)以及數(shù)據(jù)的變化呈現(xiàn)到視圖中。它通過尋找正確的視圖對(duì)象,完成頁面的展現(xiàn)。控制器承擔(dān)了這一職責(zé),就意味它必須依賴于視圖對(duì)象。例如這樣的代碼:

public class CustomerController implements Controller {
@Override
public View handleRequest(
HttpServletRequst request,
HttpServletResponse response) throws Exception {
Map model
= new HashMap();
model.put(“customers”, getCustomerList());
return new InternalResourceView(”/WEB-INF/jsp/customerList.jsp”);
}
}

it知識(shí)庫(kù)引入間接隔離變化(一),轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 狠狠影院 | 999人在线精品播放视频 | 人人添人人澡人人澡人人人人 | 午夜视频在线观看www中文 | 黄网站在线播放 | 国产成人精品免费视频 | 亚洲成a人v天堂网 | 伊人久久综合谁合综合久久 | 小视频国产 | 爱爱综合网 | 欧美天天影院 | 日韩精品国产自在久久现线拍 | 亚洲一区二区精品视频 | 国产精品久久免费视频 | 一级做a爰片久久毛片看看 一级做a爰片久久毛片毛片 | 精品国产欧美精品v | 国产精品婷婷久青青原 | 性欧美www | 国产爱搞 | 最近最新中文字幕在线第一页 | 国模私拍福利一区二区 | 亚洲你我色| 视频一区二区三区在线观看 | 大胸国产精品视频 | 伊人色在线 | 国产成人综合在线观看网站 | 国产一区在线免费观看 | 国内精品美女久久久久 | 小说区亚洲区 | 国产91麻豆视频 | 欧美激情在线精品三区 | 国产日韩欧美综合色视频在线 | 久久亚洲一级毛片 | 涩视频成人永久免费观看网站 | 欧美另类videosbestsex亚洲 | 福利毛片| 亚洲小色网| 久久精品99无色码中文字幕 | 国产三级国产精品国产普男人 | 狠狠亚洲婷婷综合色香 | 日本在线观看一级高清片 |