java設(shè)計(jì)模式七大原則_筆記
設(shè)計(jì)模式的目的:
編寫(xiě)軟件過(guò)程中慷嗜,程序員面臨著來(lái)自耦合性,內(nèi)聚性以及可維護(hù)性薇溃,可擴(kuò)展性缭乘,重用性,靈活性等多方面的挑戰(zhàn)堕绩,設(shè)計(jì)模式是為了讓程序(軟件),具有更好
l)代碼重用性(即:相同功能的代碼特姐,不用多次編寫(xiě))
2)可讀性(即:編程規(guī)范性,便于其他程序員的閱讀和理解)
3)可擴(kuò)展性(即:當(dāng)需要增加新的功能時(shí)黍氮,非常的方便,稱為可維護(hù))
4)可靠性(即:當(dāng)我們?cè)黾有碌墓δ芎蠼菘荩瑢?duì)原來(lái)的功能沒(méi)有影響)
5)使程序呈現(xiàn)高內(nèi)聚专执,低耦合的特性
1.設(shè)計(jì)模式的七大原則
1.單一原則:一個(gè)類或者接口只負(fù)責(zé)一項(xiàng)職責(zé)
2.接口隔離:客戶端不應(yīng)該依賴他不需要的接口,一個(gè)類對(duì)另一個(gè)類得依賴應(yīng)該建立在最小接口上
3.依賴倒轉(zhuǎn):
? 1)高層模塊不應(yīng)該依賴低層模塊本股,二者都應(yīng)該依賴其抽象
? 2)抽象不應(yīng)該依賴細(xì)節(jié),細(xì)節(jié)應(yīng)該依賴抽象
? 3)依賴倒轉(zhuǎn)(倒置)的中心思想是面向接口編程
? 4)依賴倒轉(zhuǎn)原則是基于這樣的設(shè)計(jì)理念:相對(duì)于細(xì)節(jié)的多變性蚕苇,抽象的東西要穩(wěn)定的多凿叠。以抽象為基礎(chǔ)搭建的架構(gòu)比以細(xì)節(jié)為基礎(chǔ)的架構(gòu)要穩(wěn)定的多。在java中蹬碧,抽象指的是接口或抽象類,細(xì)節(jié)就是具體的實(shí)現(xiàn)類
? 5)使用接口或抽象類的目的是制定好規(guī)范恩沽,而不涉及任何具體的操作翔始,把展現(xiàn)細(xì)節(jié)的任務(wù)交給他們的實(shí)現(xiàn)類去完
4.里斯替換:
5.開(kāi)閉原則:對(duì)擴(kuò)展開(kāi)放里伯,對(duì)修改關(guān)閉
6.迪米特原則: