問(wèn)答題

【簡(jiǎn)答題】

某系統(tǒng)提供一個(gè)數(shù)據(jù)轉(zhuǎn)換模塊,可以將來(lái)自不同數(shù)據(jù)源的數(shù)據(jù)轉(zhuǎn)換成多種格式,如可以轉(zhuǎn)換來(lái)自數(shù)據(jù)庫(kù)的數(shù)據(jù)(DatabaseSource)、也可以轉(zhuǎn)換來(lái)自文本文件的數(shù)據(jù)(TextSource),轉(zhuǎn)換后的格式可以是XML文件(XMLTransformer)、也可以是XLS文件(XLSTransformer),原始設(shè)計(jì)方案如圖所示,請(qǐng)指出設(shè)計(jì)存在的問(wèn)題,并基于依賴(lài)倒轉(zhuǎn)原則進(jìn)行重構(gòu)。

答案: 因?yàn)樵撓到y(tǒng)可能需要增加新的數(shù)據(jù)源或者新的文件格式,每增加一個(gè)新類(lèi)型的數(shù)據(jù)源或者新類(lèi)型的文件格式,客戶(hù)類(lèi)MainClass...
題目列表

你可能感興趣的試題

問(wèn)答題

【簡(jiǎn)答題】

某圖形界面系統(tǒng)提供了各種不同形狀的按鈕,客戶(hù)端代碼可針對(duì)這些按鈕進(jìn)行編程,用戶(hù)可能會(huì)改變需求要求使用不同的按鈕,原始設(shè)計(jì)方案如圖所示,請(qǐng)指出設(shè)計(jì)存在的問(wèn)題,并基于開(kāi)閉原則對(duì)該系統(tǒng)進(jìn)行重構(gòu)。

答案: 客戶(hù)端的一個(gè)方法直接調(diào)用加法類(lèi),當(dāng)需要變更,如想添加一個(gè)減法類(lèi)時(shí)就得改變加法類(lèi)中代碼(用switch語(yǔ)句實(shí)現(xiàn)),這就違背...
微信掃碼免費(fèi)搜題