您好,歡迎來到賦能網(wǎng)!

java有多少種設(shè)計模式?java設(shè)計模式的原則是什么?

賦能網(wǎng) 2023-05-09 85

java知識還是很廣的,大家要學(xué)習(xí)好java就要不斷的積累,比如java設(shè)計模式相關(guān)內(nèi)容,這個知識大家也是要清楚了解的,那么今天我們就給大家分享一些這方面的內(nèi)容。

總體說設(shè)計模式分為三大類:

創(chuàng)建型模式,共五種:工廠方法模式、抽象工廠模式、單例模式、建造者模式、原型模式。

結(jié)構(gòu)型模式,共七種:適配器模式、裝飾器模式、代理模式、外觀模式、橋接模式、組合模式、享元模式。

行為型模式,共十一種:策略模式、模板方法模式、觀察者模式、迭代子模式、責(zé)任鏈模式、命令模式、備忘錄模式、狀態(tài)模式、訪問者模式、中介者模式、解釋器模式。

java設(shè)計模式的原則是什么?

一、單一職責(zé)原則

單一職責(zé)原則:就一個類而言,應(yīng)該僅有一個引起它變化的原因。通俗來說,就是互相不相關(guān)的屬性和方法不要放在一個類中,就好比之前簡單工廠模式中介紹的那樣,客戶端(Customer)應(yīng)該與工廠(Factory)建立成兩個類,當(dāng)客戶想要工廠中的另一種產(chǎn)品時,只需要修改客戶端,再或者,工廠想要生產(chǎn)新產(chǎn)品,就只需在工廠類中添加,客戶端的類而不需修改。這種只有一個動機(jī)的去改變一個類就是單一職責(zé)原則。

二、里氏替換原則

里氏替換原則:子類型必須能夠替換掉它們的父類型。其實就是在一個程序里,某一個地方使用的是一個父類,那么把父類換成它的子類同樣適用。另外子類一般不該重寫父類的方法,因為父類的方法一般都是對外公布的接口,是具有不可變性的,你不該將一些不該變化的東西給修改掉。因為一般我們認(rèn)為,父類可以完成的事情,子類也可以,如果重寫父類的方法并且因此出錯,將來如果用子類替換父類就會出現(xiàn)問題。

三、依賴倒轉(zhuǎn)原則

1.高層模塊不應(yīng)該依賴低層模塊,兩個都應(yīng)該依賴抽象。

2.抽象不應(yīng)該依賴細(xì)節(jié),細(xì)節(jié)應(yīng)該依賴抽象。

四、接口隔離原則

接口隔離原則:一個接口的行為應(yīng)該盡可能的小,其實就是接口里的方法一定要是所有實現(xiàn)這個接口的類所能實現(xiàn)的。比如我們定義了一個Car接口,里面有兩個方法,駕駛和導(dǎo)航,但是實際情況是并不是所有的汽車都有導(dǎo)航的功能,這樣的話沒有導(dǎo)航功能的汽車實現(xiàn)這個接口的時候就只能把導(dǎo)航的這個方法空著,所以我們最好把navigation()這個方法從這個接口中去掉,另外單獨(dú)寫一個接口。

五、迪米特法則

迪米特法則:如果兩個類不比彼此直接通信,那么他們就不應(yīng)該直接發(fā)生作用,它強(qiáng)調(diào)的是松耦合,這樣的話一個類修改也不會對其他類有太大的影響。

六、開放-封閉原則

開放-封閉原則:就是類,函數(shù)等應(yīng)該是可以擴(kuò)展,但是不能修改。這個原則有兩個特征,對于擴(kuò)展是開放的,對于更改是關(guān)閉的。但是事實情況是模塊不可能完全封閉的,總會有一些變化,但是這時就需要我們?nèi)ヮA(yù)測可能發(fā)生的變化,然后構(gòu)造抽象來隔離哪些變化,這樣的話以后更改起來就可以保持相對穩(wěn)定,使一個地方的變化對其他地方的影響盡可能的小。

關(guān)于java設(shè)計模式的相關(guān)內(nèi)容分享到這里就結(jié)束了,大家一定要了解這些知識,增加java知識,最后大家如果想要了解更多java初識知識,敬請關(guān)注賦能網(wǎng)。


本文鏈接:

本文章“java有多少種設(shè)計模式?java設(shè)計模式的原則是什么?”已幫助 85 人

免責(zé)聲明:本信息由用戶發(fā)布,本站不承擔(dān)本信息引起的任何交易及知識產(chǎn)權(quán)侵權(quán)的法律責(zé)任!

本文由賦能網(wǎng) 整理發(fā)布。了解更多培訓(xùn)機(jī)構(gòu)》培訓(xùn)課程》學(xué)習(xí)資訊》課程優(yōu)惠》課程開班》學(xué)校地址等機(jī)構(gòu)信息,可以留下您的聯(lián)系方式,讓課程老師跟你詳細(xì)解答:
咨詢熱線:4008-569-579

如果本頁不是您要找的課程,您也可以百度查找一下: