溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

編程開(kāi)發(fā)中常見(jiàn)設(shè)計(jì)原則有哪些

發(fā)布時(shí)間:2021-09-17 09:54:35 來(lái)源:億速云 閱讀:99 作者:小新 欄目:編程語(yǔ)言

這篇文章將為大家詳細(xì)講解有關(guān)編程開(kāi)發(fā)中常見(jiàn)設(shè)計(jì)原則有哪些,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

常見(jiàn)設(shè)計(jì)原則

  • 簡(jiǎn)約原則(KISS)
    KISS原則的目標(biāo)就是讓代碼保持簡(jiǎn)潔但不要過(guò)于簡(jiǎn)陋,從而避免引入任何不必要但復(fù)雜度。

  • 不要重復(fù)自己(DRY)
    BRY原則但目的是通過(guò)將公用但部分抽離出來(lái)放在一個(gè)單獨(dú)的地方,從而避免重復(fù)系統(tǒng)中的任何部分。當(dāng)然避免重復(fù)的不僅僅是代碼,還包括業(yè)務(wù)邏輯。

  • 講述而不要詢問(wèn)(Tell,Don‘t Ask)
    這個(gè)原則要求應(yīng)該告訴對(duì)象您希望它們執(zhí)行什么動(dòng)作,而不是詢問(wèn)有關(guān)對(duì)象狀態(tài)的問(wèn)題然后您自己決定希望執(zhí)行什么動(dòng)作。這樣有助于匹配責(zé)任并避免類之間的緊密耦合。

  • 您不需要它(YAGNI)
    該原則指的是只需要將應(yīng)用程序必須的功能包含進(jìn)來(lái),而不要試圖添加任何其他您認(rèn)為可能需要的功能。

  • 分離關(guān)注點(diǎn)(SoC)
    SoC這一過(guò)程將軟件分解為多項(xiàng)不同的功能,每項(xiàng)功能封裝了可供其他類使用的唯一行為和數(shù)據(jù)。通常,一個(gè)關(guān)注點(diǎn)代表類的一項(xiàng)功能或行為。將程序劃分成若干獨(dú)立職責(zé)的做法顯著提高了代碼的重用成都、維護(hù)性和可測(cè)試性。

S.O.L.I.D設(shè)計(jì)原則

  • 單一職責(zé)原則(SRP)
    SRP與分離關(guān)注點(diǎn)原則保持高度一致。它要求每個(gè)對(duì)象應(yīng)該有且只有一個(gè)職責(zé)關(guān)注點(diǎn),即只有一個(gè)引起類變化的原因。

  • 開(kāi)放封閉原則(OCP)
    該原則要求類對(duì)于擴(kuò)展應(yīng)該是開(kāi)放的,而對(duì)于修改應(yīng)該是關(guān)閉的,這樣應(yīng)該就能夠在不改變類的內(nèi)部行為的情況下為類添加新功能,并且避免類被破壞,造成不必要的錯(cuò)誤或則bug。

  • 里氏替換原則(LSP)
    任何父類都應(yīng)該可以被子類替代,并且保持其行為不變。改原則與OCP原則保持一致,確保繼承類不會(huì)影響父類的行為。

  • 接口分離原則(ISP)
    ISP原則關(guān)注的是將接口方法按職責(zé)劃分為若干個(gè)組,并且為這些分組指派不同的接口。避免客戶端實(shí)現(xiàn)一個(gè)龐大和一堆用不到的接口。

  • 依賴倒置原則(DIP)
    DIP原則的宗旨是將自己編寫(xiě)的類與具體的實(shí)現(xiàn)隔離開(kāi)來(lái),讓這些類依賴于抽象或者接口。它提倡面向接口編程,這確保代碼不會(huì)與某種實(shí)現(xiàn)緊密耦合,從而提高惡系統(tǒng)的靈活性。

  • 依賴注入(DI)和控制反轉(zhuǎn)(SoC)原則
    DI、SoC與DIP是緊密相連的。DI通過(guò)構(gòu)造器、方法或?qū)傩蕴峁┑蛯宇惢驈膶兕?。配合使用DI原則,這些從屬類可以被反轉(zhuǎn)為接口或抽象類,這樣就可以形成一個(gè)具有較高的可測(cè)試性和易于修改的低耦合系統(tǒng)。

關(guān)于“編程開(kāi)發(fā)中常見(jiàn)設(shè)計(jì)原則有哪些”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI