問答題

【簡(jiǎn)答題】

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

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

你可能感興趣的試題

問答題

【簡(jiǎn)答題】

某基于Java的C/S系統(tǒng)的“登錄功能”通過(guò)如下登錄類(Login)實(shí)現(xiàn),請(qǐng)指出設(shè)計(jì)存在的問題,并基于單一職責(zé)原則進(jìn)行重構(gòu)。

答案:

功能太過(guò)于集成,嚴(yán)重違反類的單一原則。就一個(gè)類而言,應(yīng)該僅有一個(gè)引起它變化的原因。

微信掃碼免費(fèi)搜題