3 回答

TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超3個(gè)贊
MVC的主要好處是您可以擁有多個(gè)視圖,并且可以將結(jié)構(gòu)清晰,分離并實(shí)現(xiàn)簡單
可重用性
假設(shè)明天您需要在桌面應(yīng)用程序上運(yùn)行相同的應(yīng)用程序。那么您只需更改視圖即可。
可測性
您可以對服務(wù)方法進(jìn)行單元測試,但不能從視圖中簡單地對邏輯進(jìn)行單元測試。
可維護(hù)性
很容易從Service方法中理解代碼,我們也可以更改它/ release service api并輕松維護(hù)它
版本能力
如果使用服務(wù)API而不是查看邏輯,則可以為API提供版本并維護(hù)與問題/更新相關(guān)的標(biāo)準(zhǔn)文檔

TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超10個(gè)贊
這是“關(guān)注分離”設(shè)計(jì)原則的典型應(yīng)用。
通過分離關(guān)注點(diǎn),即為每個(gè)關(guān)注點(diǎn)創(chuàng)建單獨(dú)的邏輯單元(主要是類),可以減少更改任何特定單元的原因。
SoC的另一個(gè)好處是減小了這些單元的平均尺寸和復(fù)雜性。反過來,這使您的軟件更易于理解和更改。
此外,具有小的邏輯單元使它們更容易進(jìn)行單元測試,更易于在集成測試中進(jìn)行模擬以及更容易在實(shí)現(xiàn)更改后修復(fù)測試。

TA貢獻(xiàn)1951條經(jīng)驗(yàn) 獲得超3個(gè)贊
我將在這里發(fā)布的所有非常好的理由中再添加一個(gè)理由。
客戶端技術(shù)一直在變化。用戶不想通過臺式機(jī),瀏覽器或移動(dòng)應(yīng)用程序訪問;他們想一直使用它們。因此,如果將業(yè)務(wù)邏輯嵌入一種類型的用戶界面技術(shù)中,則可能必須將其復(fù)制到所有其他類型的用戶界面技術(shù)中。這對維護(hù),可重用性和添加新的業(yè)務(wù)邏輯不利。
您不想僅因?yàn)闆Q定更改UI技術(shù)而不得不重新編寫應(yīng)用程序。
這對于安全性也更好。如果業(yè)務(wù)邏輯進(jìn)入瀏覽器,則用戶有可能看到代碼并弄清楚您在做什么。
因此,最好將業(yè)務(wù)邏輯保留在服務(wù)器端。
添加回答
舉報(bào)