亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java中有哪些設計原則

發布時間:2021-05-13 16:19:14 來源:億速云 閱讀:121 作者:Leah 欄目:開發技術

本篇文章給大家分享的是有關Java中有哪些設計原則,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

一、單一職責原則(SingleResponsibilityPrinciple,SRP)

定義:一個類只負責一個功能領域中的相應職責

理解:該設計模式很好理解,就是一個類只實現某個領域的相應職責,這樣有利于進行調用。就比如在Java開發時,設計controller、service、manager、dao層一樣的道理,進行分層分工,再和生活貼近一點,人們在社會中也是更加各有所長進行職責分工協調更好地運行社會。

例子:可能在剛開始學習Java進行課設設計時,可能會將DB連接,圖表展示都放在一個類里面,這樣導致該類就比較冗雜。為了遵循該原則應該將其分解為DBUtil和ChartDisplay兩個類。

二、開閉原則(Open-ClosedPrinciple,OCP)

定義:軟件實體應對擴展開放,而對修改關閉

理解:剛開始看到該原則定義,其實有點懵,然后結合例子就很容易明白了。其意思就是當該類需要進行拓展(比如說添加一個新功能(方法))是可以的,但進行修改某功能則不可以。怎么實現呢?那就得看下個里氏代換原則了。不過目的還是為了拓展,維護。

例子:假設需要展示不同圖表,你采用傳入type參數去控制展示何種圖表,那么當你拓展時,就需要添加新的判斷比較,進行了修改,破壞了原類。不符合該原則,改進辦法,使用抽象類或者接口進行拓展。

三、里氏代換原則(LiskovSubstitutionPrinciple,LSP)

定義:所有引用基類對象的地方能夠透明地使用其子類的對象

理解:簡單地說,就是接口(基類、抽象類)進行定義,子類進行動態實現。便于(2)的原則實現。

例子:以下如service包中進行接口定義,然后…impl實現,再在controller中進行基類接口聲明定義,最后在實際使用中進行動態調用。

Java中有哪些設計原則
Java中有哪些設計原則

四、依賴倒換原則(DependenceInversionPrinciple,DIP)

定義:抽象不應該依賴于細節,細節應該依賴于抽象

理解:也就是面向接口編程,應該先進行接口定義該業務需要哪些方法,也可以適當書寫步驟,然后再在實現類里面進行細節完善。

例子:如下,就是先把接口寫好(明確業務),然后實現類進行具體實現。

Java中有哪些設計原則

五、接口隔離原則(InterfaceSegregationPrinciple,ISP)

定義:使用多個專門的接口,而不使用單一的總接口

理解:和單一原則大同小異,就是針對的對象不同,一個是類一個是接口。在此方面深有感觸,剛開始時進行編寫接口基本上按一個功能模塊(比如說登錄一模塊,支付一模塊,新聞一模塊)一個接口,后面維護時發現找相應具體功能點就比較麻煩了,而且實現類里面十分龐雜(幾百行代碼看重都頭疼)。

六、合成復用原則(CompositeReusePrinciple,CRP)

定義:盡量使用對象組合,而不是繼承來達到復用的目的

理解:復用時應該多用關聯,少用繼承。不過感覺一般習慣性就關聯復合吧,沒什么好講的。

七、迪米特法則(LawofDemeter,LoD)

定義:一個軟件實體應當盡可能少地與其他實體發生相互作用。

理解:為了避免修改該類后影響其他類(不過IDEA報錯工具很強大也不要怕哈哈哈。),應該讓此類盡可能不與其他類發生關聯,主要有其他類構造注入,參數注入,依賴注入等。在設計時,多考慮有沒有必要加入引用,是否可以設計一個中間類去管理。

java基本數據類型有哪些

Java的基本數據類型分為:1、整數類型,用來表示整數的數據類型。2、浮點類型,用來表示小數的數據類型。3、字符類型,字符類型的關鍵字是“char”。4、布爾類型,是表示邏輯值的基本數據類型。

以上就是Java中有哪些設計原則,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

遂溪县| 扎赉特旗| 安塞县| 石首市| 婺源县| 东乌珠穆沁旗| 乌拉特后旗| 淳安县| 临江市| 惠安县| 大埔区| 邯郸县| 黄石市| 兰坪| 石台县| 吐鲁番市| 奉新县| 澳门| 卫辉市| 北海市| 江城| 长阳| 元朗区| 柯坪县| 呼图壁县| 达尔| 云南省| 宝兴县| 贵州省| 新丰县| 封丘县| 福建省| 东乡族自治县| 司法| 布拖县| 高邮市| 西乡县| 常熟市| 白银市| 三穗县| 嘉义县|