欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

java設(shè)計(jì)模式的基本原則有哪些

本篇內(nèi)容介紹了“java設(shè)計(jì)模式的基本原則有哪些”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

創(chuàng)新互聯(lián)建站擁有網(wǎng)站維護(hù)技術(shù)和項(xiàng)目管理團(tuán)隊(duì),建立的售前、實(shí)施和售后服務(wù)體系,為客戶(hù)提供定制化的成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、網(wǎng)站維護(hù)、雅安機(jī)房托管解決方案。為客戶(hù)網(wǎng)站安全和日常運(yùn)維提供整體管家式外包優(yōu)質(zhì)服務(wù)。我們的網(wǎng)站維護(hù)服務(wù)覆蓋集團(tuán)企業(yè)、上市公司、外企網(wǎng)站、商城建設(shè)、政府網(wǎng)站等各類(lèi)型客戶(hù)群體,為全球1000多家企業(yè)提供全方位網(wǎng)站維護(hù)、服務(wù)器維護(hù)解決方案。

設(shè)計(jì)模式(Design pattern)代表了程序開(kāi)發(fā)的最佳實(shí)踐,通常被有經(jīng)驗(yàn)的面向?qū)ο蟮能浖_(kāi)發(fā)人員所采用。設(shè)計(jì)模式是軟件開(kāi)發(fā)人員在軟件開(kāi)發(fā)過(guò)程中面臨的一般問(wèn)題的解決方案。這些解決方案是眾多軟件開(kāi)發(fā)人員經(jīng)過(guò)相當(dāng)長(zhǎng)的一段時(shí)間的試驗(yàn)和錯(cuò)誤總結(jié)出來(lái)的,那設(shè)計(jì)模式有那些基本設(shè)計(jì)原則的呢?

通常來(lái)說(shuō),設(shè)計(jì)模式的基本原則包含以下 7 個(gè)內(nèi)容:

  1. 單一職責(zé)原則(Single Responsibility Principle)

    單一職責(zé)原則表示一個(gè)模塊的組成元素之間的功能相關(guān)性。從軟件變化的角度來(lái)看,就一個(gè)類(lèi)而言,應(yīng)該僅有一個(gè)讓它變化的原因;通俗地說(shuō),即一個(gè)類(lèi)只負(fù)責(zé)一項(xiàng)職責(zé)。

    • SRP 是一個(gè)簡(jiǎn)單又直觀的原則,但是在實(shí)際編碼的過(guò)程中很難將它恰當(dāng)?shù)剡\(yùn)用,需要結(jié)合實(shí)際情況進(jìn)行運(yùn)用。

    • 單一職責(zé)原則可以降低類(lèi)的復(fù)雜度,一個(gè)類(lèi)僅負(fù)責(zé)一項(xiàng)職責(zé),其邏輯肯定要比負(fù)責(zé)多項(xiàng)職責(zé)簡(jiǎn)單。

    • 提高了代碼的可讀性,提高系統(tǒng)的可維護(hù)性。

  2. 開(kāi)放-關(guān)閉原則(Open-Closed Principle)

    開(kāi)放-關(guān)閉原則表示軟件實(shí)體 (類(lèi)、模塊、函數(shù)等等) 應(yīng)該是可以被擴(kuò)展的,但是不可被修改。

    如果一個(gè)軟件能夠滿(mǎn)足 OCP 原則,那么它將有兩項(xiàng)優(yōu)點(diǎn):

    • 能夠擴(kuò)展已存在的系統(tǒng),能夠提供新的功能滿(mǎn)足新的需求,因此該軟件有著很強(qiáng)的適應(yīng)性和靈活性。

    • 已存在的模塊,特別是那些重要的抽象模塊,不需要被修改,那么該軟件就有很強(qiáng)的穩(wěn)定性和持久性。

  3. 里氏替換原則(Liskov Substitution Principle)

    將一個(gè)基類(lèi)對(duì)象替換成它的子類(lèi)對(duì)象,程序?qū)⒉粫?huì)產(chǎn)生任何錯(cuò)誤和異常,反過(guò)來(lái)則不成立,如果一個(gè)軟件實(shí)體使用的是一個(gè)子類(lèi)對(duì)象的話(huà),那么它不一定能夠使用基類(lèi)對(duì)象。即子類(lèi)可以擴(kuò)展父類(lèi)的功能,但不能改變父類(lèi)原有的功能

  4. 依賴(lài)倒轉(zhuǎn)原則(Dependence Inversion Principle)

    高層模塊不應(yīng)該依賴(lài)低層模塊,二者都應(yīng)該于抽象。進(jìn)一步說(shuō),抽象不應(yīng)該依賴(lài)于細(xì)節(jié),細(xì)節(jié)應(yīng)該依賴(lài)于抽象。遵循依賴(lài)倒轉(zhuǎn)原則可以降低類(lèi)之間的耦合性,提高系統(tǒng)的穩(wěn)定性,降低修改程序造成的風(fēng)險(xiǎn)。依賴(lài)倒轉(zhuǎn)原則的核心就是要我們面向接口編程

  5. 接口隔離原則(Interface Segregation Principle)

    客戶(hù)端不應(yīng)該依賴(lài)它不需要的接口;一個(gè)類(lèi)對(duì)另一個(gè)類(lèi)的依賴(lài)應(yīng)該建立在最小的接口上

    • 接口隔離原則的思想在于建立單一接口,盡可能地去細(xì)化接口,接口中的方法盡可能少

    • 但是凡事都要有個(gè)度,如果接口設(shè)計(jì)過(guò)小,則會(huì)造成接口數(shù)量過(guò)多,使設(shè)計(jì)復(fù)雜化。所以一定要適度

  6. 迪米特法則(Law Of Demeter)

    迪米特法則又稱(chēng)為 最少知道原則,它表示一個(gè)對(duì)象應(yīng)該對(duì)其它對(duì)象保持最少的了解。通俗來(lái)說(shuō)就是,只與直接的朋友通信。

    直接的朋友:每個(gè)對(duì)象都會(huì)與其他對(duì)象有耦合關(guān)系,只要兩個(gè)對(duì)象之間有耦合關(guān)系,我們就說(shuō)這兩個(gè)對(duì)象之間是朋友關(guān)系。耦合的方式很多,依賴(lài)、關(guān)聯(lián)、組合、聚合等。其中,我們稱(chēng)出現(xiàn)成員變量、方法參數(shù)、方法返回值中的類(lèi)為直接的朋友,而出現(xiàn)在局部變量中的類(lèi)則不是直接的朋友。也就是說(shuō),陌生的類(lèi)最好不要作為局部變量的形式出現(xiàn)在類(lèi)的內(nèi)部。

    對(duì)于被依賴(lài)的類(lèi)來(lái)說(shuō),無(wú)論邏輯多么復(fù)雜,都盡量的將邏輯封裝在類(lèi)的內(nèi)部,對(duì)外提供 public 方法,不對(duì)泄漏任何信息。

  7. 組合/聚合復(fù)用原則(Composite/Aggregate Reuse Principle)

    組合/聚合復(fù)用原則就是在一個(gè)新的對(duì)象里面使用一些已有的對(duì)象,使之成為新對(duì)象的一部分; 新的對(duì)象通過(guò)向這些對(duì)象的委派達(dá)到復(fù)用已有功能的目的。

    在面向?qū)ο蟮脑O(shè)計(jì)中,如果直接繼承基類(lèi),會(huì)破壞封裝,因?yàn)槔^承將基類(lèi)的實(shí)現(xiàn)細(xì)節(jié)暴露給子類(lèi);如果基類(lèi)的實(shí)現(xiàn)發(fā)生了改變,則子類(lèi)的實(shí)現(xiàn)也不得不改變;從基類(lèi)繼承而來(lái)的實(shí)現(xiàn)是靜態(tài)的,不可能在運(yùn)行時(shí)發(fā)生改變,沒(méi)有足夠的靈活性。于是就提出了組合/聚合復(fù)用原則,也就是在實(shí)際開(kāi)發(fā)設(shè)計(jì)中,盡量使用組合/聚合,不要使用類(lèi)繼承。

    • 總體說(shuō)來(lái),組合/聚合復(fù)用原則告訴我們:組合或者聚合好過(guò)于繼承

    • 聚合組合是一種 “黑箱” 復(fù)用,因?yàn)榧?xì)節(jié)對(duì)象的內(nèi)容對(duì)客戶(hù)端來(lái)說(shuō)是不可見(jiàn)的

“java設(shè)計(jì)模式的基本原則有哪些”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

文章題目:java設(shè)計(jì)模式的基本原則有哪些
URL鏈接:http://chinadenli.net/article32/pdcosc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)公司自適應(yīng)網(wǎng)站、App開(kāi)發(fā)搜索引擎優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)