成人黄色在线网站 I 国产aa免费 I 中文字幕免费高清 I 国产三级影院 I 日韩欧美三级在线观看 I 久久久国产精品麻豆a片 I 欧美与黑人午夜性猛交久久久 I 91国产精品视频在线 I 国产美女狂喷水潮在线播放 I 黄页免费网站在线观看 I 欧美日韩激情视频 I 午夜理论无码片在线观看免费 I 深夜爽爽动态图无遮无挡 I 国精产品一区一区三区有限公司杨 I 天天操天天舔天天爽 I 免费看日本黄色片 I 成人va在线 I 日韩中文字幕在线观看 I 婷婷综合网 I 97视频免费观察看 I 色月丁香 I 日韩视频一二三 I 男女黄色毛片 I 美女疯狂连续喷潮视频 I 亚洲日本va一区二区sa I 欧美日韩视频区 I 毛片网在线 I 欧美一本在线 I 少妇一级淫片免费放香蕉 I avav在线看 I 久久精品亚洲中文字幕无码网站 I 天堂av在线中文在线新版 I 电影一区 电影二区 I 色av吧 中文字幕 I 国产精品伊人色

歡迎來到培訓(xùn)無憂網(wǎng)!

全國切換

咨詢熱線 400-001-5729

位置:培訓(xùn)無憂網(wǎng) > 新聞資訊 > 電腦/IT > java培訓(xùn) >  Java培訓(xùn)分享:應(yīng)用開發(fā)SOLID設(shè)計原則了解多少

Java培訓(xùn)分享:應(yīng)用開發(fā)SOLID設(shè)計原則了解多少

來源:培訓(xùn)無憂網(wǎng) 發(fā)布人:星星

2022-01-14 11:07:28|已瀏覽:197次

應(yīng)用開發(fā)SOLID設(shè)計原則

       SOLID指的是面向?qū)ο缶幊讨械奈鍡l設(shè)計原則,旨在減少代碼腐爛,提高軟件的價值、功能和可維護(hù)性。堅實的原則有助于用戶開發(fā)耦合較少的代碼。如果代碼是緊密耦合的,那么一組類是相互依賴的。為了更好的可維護(hù)性和可讀性,應(yīng)該避免這種情況。

1.單一責(zé)任原則(SRP)
       單一責(zé)任原則(SRP)規(guī)定,一個類改變的原因不應(yīng)超過一個。這意味著代碼中的每個類或類似結(jié)構(gòu)應(yīng)該只有一項任務(wù)要做。類的每件事都應(yīng)該與這個單一的目的相關(guān),這并不意味著類應(yīng)該只包含一個方法或?qū)傩浴?/span>
      可以有很多成員,只要他們與單一責(zé)任相關(guān)。可能是,當(dāng)發(fā)生更改的一個原因時,類的多個成員可能需要修改,也可能是多個類需要更新。混合責(zé)任也使類更難理解和測試,降低了凝聚力。解決這一問題的最簡單方法是將類劃分為三個不同的類,每個類只有一個職責(zé):數(shù)據(jù)庫訪問、計算薪酬和報告,所有這些都是分開的。
2.開放-封閉原則(OCP)
       開放-封閉原則(OCP)規(guī)定類應(yīng)該為擴(kuò)展而打開,但為修改而關(guān)閉!伴_放擴(kuò)展”意味著你應(yīng)該設(shè)計類,以便在生成新需求時添加新功能!盀樾薷亩P(guān)閉”意味著一旦開發(fā)了一個類,就不應(yīng)該修改它,除非是為了糾正錯誤。
        該原則的這兩部分似乎相互矛盾。但是,如果正確地構(gòu)造類及其依賴項,則可以添加功能,而無需編輯現(xiàn)有源代碼。通常,你通過引用依賴項的抽象(例如接口或抽象類)而不是使用具體類來實現(xiàn)這一點?梢酝ㄟ^創(chuàng)建實現(xiàn)接口的新類來添加功能。將OCP應(yīng)用到項目中可以限制在編寫、測試和調(diào)試源代碼后更改源代碼的需要。這降低了在現(xiàn)有代碼中引入新錯誤的風(fēng)險,從而產(chǎn)生更健壯的軟件。
3.Liskov替換原則(LSP)

       Liskov替換原則(LSP)適用于繼承層次結(jié)構(gòu),指定你應(yīng)該設(shè)計類,以便在客戶端不知道更改的情況下用子類替換客戶端依賴項。因此,所有子類的操作方式都必須與其基類相同。子類的特定功能可能不同,但必須符合基類的預(yù)期行為。要成為真正的行為子類型,子類不僅必須實現(xiàn)基類的方法和屬性,還必須符合其隱含的行為。

       通常,如果超類型的子類型做了超類型的客戶機(jī)不期望的事情,那么這違反了LSP。想象一個派生類拋出一個超類沒有拋出的異常,或者如果一個派生類有一些意外的副作用;旧,派生類的性能不應(yīng)該低于基類。

       違反LSP的典型示例是從矩形類派生的方形類。Square類始終假定寬度與高度相等。如果在預(yù)期為矩形的上下文中使用正方形對象,則可能會發(fā)生意外行為,因為不能(或者更確切地說不應(yīng)該)單獨(dú)修改正方形的尺寸。
4.接口隔離原則(ISP)
       接口隔離原則(ISP)規(guī)定,不應(yīng)強(qiáng)迫客戶依賴他們不使用的接口成員。當(dāng)我們有非內(nèi)聚接口時,ISP引導(dǎo)我們創(chuàng)建多個更小的內(nèi)聚接口。應(yīng)用ISP時,類及其依賴項使用緊密關(guān)注的接口進(jìn)行通信,從而最大限度地減少對未使用成員的依賴,并相應(yīng)地減少耦合。更小的接口更容易實現(xiàn),提高了靈活性和重用的可能性。由于共享這些接口的類越來越少,因此響應(yīng)接口修改所需的更改數(shù)量也會減少,從而提高了健壯性。
5.依賴倒置原則(DIP)
       依賴倒置原則(DIP)規(guī)定高級模塊不應(yīng)依賴于低級模塊;它們應(yīng)該依賴于抽象。其次,抽象不應(yīng)依賴于細(xì)節(jié);細(xì)節(jié)應(yīng)該取決于抽象。我們的想法是將類隔離在它所依賴的抽象所形成的邊界之后。如果這些抽象背后的所有細(xì)節(jié)都發(fā)生了變化,那么我們的類仍然是安全的。這有助于保持低耦合,使我們的設(shè)計更易于更改。DIP還允許我們單獨(dú)測試事物。這些原則提供了一個有價值的標(biāo)準(zhǔn),指導(dǎo)開發(fā)人員遠(yuǎn)離這種“代碼腐朽”,轉(zhuǎn)而構(gòu)建為客戶提供持久價值并為從事項目的未來開發(fā)人員提供理智的應(yīng)用程序。

      注:尊重原創(chuàng)文章,轉(zhuǎn)載請注明出處和鏈接 http://www.hebeijilong.cn/news-id-15059.html 違者必究!部分文章來源于網(wǎng)絡(luò)由培訓(xùn)無憂網(wǎng)編輯部人員整理發(fā)布,內(nèi)容真實性請自行核實或聯(lián)系我們,了解更多相關(guān)資訊請關(guān)注java培訓(xùn)頻道查看更多,了解相關(guān)專業(yè)課程信息您可在線咨詢也可免費(fèi)申請試課。關(guān)注官方微信了解更多:150 3333 6050

留下你的信息,課程顧問老師會一對一幫助你規(guī)劃更適合你的專業(yè)課程!
  • 姓名:

  • 手機(jī):

  • 地區(qū):

  • 想學(xué)什么:

  • 培訓(xùn)無憂網(wǎng)
免 費(fèi) 申 請 試 聽
提交申請,《培訓(xùn)無憂網(wǎng)》課程顧問老師會一對一幫助你規(guī)劃更適合你的專業(yè)課程!