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

對象的協(xié)作

  面向?qū)ο笤O(shè)計的一個重要分析方法是利用對象的職責(zé)來驅(qū)動設(shè)計。對象有了職責(zé),才會成為具體擁有意識的對象,成為對象社區(qū)中可以獨(dú)立完成,或者發(fā)出指令委派別的對象協(xié)作完成職責(zé)的一員。將對象看成是“具有職責(zé)的東西”。對象應(yīng)該自己負(fù)責(zé)自己,而且應(yīng)該清楚地定義職責(zé)。這就是對象設(shè)計的關(guān)鍵。好的軟件設(shè)計者應(yīng)該像牧羊人一般放牧自己的牛羊,只需要給它們一片豐沃的草地,它們就能自己覓食生活。 

  Rebecca認(rèn)為:對象在履行職責(zé)時有3種選擇,你可以任選其一:(1)親自完成所有的工作。(2)請求其他對象幫忙完成部分工作(和其他對象協(xié)作)。(3)將整個服務(wù)請求委托給另外的幫助對象。在分析對象職責(zé)時,可以考慮“專家”模式,即信奉專業(yè)的事情交給專家來完成,既不互相推諉,卻也不能越俎代庖。專家有其擅長的領(lǐng)域,如果把專家錯放在他不熟悉的領(lǐng)域,不僅會降低工作效率,還可能引入潛在危機(jī)。所謂“尺有所長,寸有所短”,含義正在于此。

  對象的能力總是有限的,正如我們不能將所有的雞蛋放在一個籃子里,我們也不能將所有的職責(zé)交給“上帝”。這既避免單一功能點(diǎn)帶來的風(fēng)險,又能實現(xiàn)職責(zé)的分權(quán)。Christepher Alexander建議,在遇到設(shè)計問題時“盡量少用集權(quán)的機(jī)制”。軟件設(shè)計同樣如此。職責(zé)總是可大可小,面對復(fù)雜的職責(zé)行為,總是需要多個對象的協(xié)作才能完成,就像機(jī)器中的零部件,按部就班,各司其職。

  讓我們來設(shè)計一個數(shù)據(jù)分析器,它通過分析算法對輸入數(shù)據(jù)進(jìn)行分析,并將結(jié)果保存在輸出集中。根據(jù)業(yè)務(wù)需求的不同,執(zhí)行的分析算法也不相同。同時,為了提高分析性能,我們還需要采用多線程方式執(zhí)行分析任務(wù)。從調(diào)用者的角度來看【即Martin Fowler提到的規(guī)約視角】,我們只關(guān)心分析需要的數(shù)據(jù)以及分析后的結(jié)果。那么,誰應(yīng)該來承擔(dān)分析的職責(zé)呢?毫無疑問,我們可以定義分析器對象來履行這一職責(zé)。此外,調(diào)用者其實并不會關(guān)心分析算法的實現(xiàn)以及分析的過程,他希望分析是易于執(zhí)行的,這一愿望通過有效的封裝完全可以滿足。我們可以將分析的職責(zé)封裝在DataAnalyzer類中,同時隱藏具體的分析算法。

public class Client {
public static void run(InputData input) {
DataAnalyzer analyzer
= new DataAnalyzer();
AnalyticResult result
= analyzer.analysis(input);
//做其它事情
//處理分析后的數(shù)據(jù)
handleOutput(analyzer.output(result));
}
}
public class DataAnalyzer {
public AnalyticResult analysis(InputData input) {}
public OutputData output(AnalyticResult result) {}
}

it知識庫對象的協(xié)作,轉(zhuǎn)載需保留來源!

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

主站蜘蛛池模板: 国语对白在线观看 | 久久久久久久蜜桃 | 91在线看片一区国产 | 91精品国产免费入口 | 国产精品视频一区二区猎奇 | 在线播放黄色 | 又黄又爽又猛大片录像 | 水蜜桃一二二区视在线 | 成人午夜免费视频免费看 | 九九视频热 | 国产在线视频一区 | 欧美日韩一道本 | www.日本精品 | 男女一级做a爱过程免费视频 | 日本波多野结衣在线 | 2019天天操天天干天天透 | 美女很黄很黄是免费的·无遮挡网站 | 一本久道久久综合狠狠爱 | 性欧美xxxx视频在线观看 | 欧美亚洲视频 | 精品区| 国产91一区二区在线播放不卡 | 91网页版 | 久久91精品综合国产首页 | 99国产精品欧美久久久久久影院 | 伊人91在线| 欧美成人日韩 | 久久99国产精品亚洲 | 午夜视频网站 | 国产高清视频免费最新在线 | 色婷婷影院在线视频免费播放 | 黄色影院在线观看视频 | 久久永久免费 | 成人激情免费视频 | 国产成人精品视频频 | 欧美大香线蕉线伊人久久 | 四虎永久免费在线 | 男女毛片免费视频看 | 国产夜趣福利免费视频 | 激情丁香小说 | 婷婷久久精品 |