溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

設(shè)計(jì)模式講解-第1篇初識(shí)設(shè)計(jì)模式

發(fā)布時(shí)間:2020-07-12 21:41:03 來(lái)源:網(wǎng)絡(luò) 閱讀:248 作者:凱哥Java 欄目:編程語(yǔ)言

設(shè)計(jì)模式講解-初識(shí)設(shè)計(jì)模式

設(shè)計(jì)模式講解-第1篇初識(shí)設(shè)計(jì)模式

設(shè)計(jì)模式是什么?

????設(shè)計(jì)模式是人們?cè)诿鎸?duì)同類型軟件工程設(shè)計(jì)問(wèn)題所總結(jié)出的一些有用的經(jīng)驗(yàn)(是前輩們對(duì)代碼開(kāi)發(fā)經(jīng)驗(yàn)的總結(jié),是解決特定問(wèn)題的一系列套路)。設(shè)計(jì)模式不是代碼,而是某類問(wèn)題的通用設(shè)計(jì)解決方案。讓我想起了:世上本無(wú)路,走的人多了,也便成了路。

百科介紹:

設(shè)計(jì)模式講解-第1篇初識(shí)設(shè)計(jì)模式

23種設(shè)計(jì)模式總結(jié)者:

Erich Gamma、Richard Helm、Ralph Johnson、John Vlissides于1995年總結(jié)寫了《設(shè)計(jì)模式》。

學(xué)習(xí)設(shè)計(jì)模式最好的方式:在你的設(shè)計(jì)和以往的工程里面尋找何處可以使用它們。

設(shè)計(jì)模式的本質(zhì)目的是使軟件工程在維護(hù)性、擴(kuò)展性、變化性、復(fù)雜度方面成O(N)。

設(shè)計(jì)模式可以分為三類:

一:創(chuàng)建型模式

二:結(jié)構(gòu)型模式

三:行為型模式

三類模式各包含具體哪些模式?如下圖:

設(shè)計(jì)模式講解-第1篇初識(shí)設(shè)計(jì)模式

設(shè)計(jì)模式之間關(guān)系,如下圖:

設(shè)計(jì)模式講解-第1篇初識(shí)設(shè)計(jì)模式

思考個(gè)問(wèn)題:

設(shè)計(jì)模式講解-第1篇初識(shí)設(shè)計(jì)模式

其實(shí)Java種的IO流類設(shè)計(jì)使用的就是裝飾者模式。至于優(yōu)點(diǎn),在裝飾者模式中,我們?cè)敿?xì)講解

題外話:

設(shè)計(jì)模式的幾大原則

1:開(kāi)閉原則

設(shè)計(jì)模式講解-第1篇初識(shí)設(shè)計(jì)模式

2:里氏代換原則(LSP)

設(shè)計(jì)模式講解-第1篇初識(shí)設(shè)計(jì)模式

3:依賴倒轉(zhuǎn)原則

設(shè)計(jì)模式講解-第1篇初識(shí)設(shè)計(jì)模式

4:接口隔離原則

設(shè)計(jì)模式講解-第1篇初識(shí)設(shè)計(jì)模式

5:迪米特法則(知道最少原則)

設(shè)計(jì)模式講解-第1篇初識(shí)設(shè)計(jì)模式

6:合成復(fù)用原則

設(shè)計(jì)模式講解-第1篇初識(shí)設(shè)計(jì)模式

7:?jiǎn)我宦氊?zé)原則

設(shè)計(jì)模式講解-第1篇初識(shí)設(shè)計(jì)模式

本文出自凱哥Java(kaigejava)

凱哥個(gè)人博客:www.kaigejava.com

從上面七大原則上,我們就可以看出,其實(shí)設(shè)計(jì)模式就是一個(gè)軟件的設(shè)計(jì)思想,從大型軟件架構(gòu)出發(fā),為例升級(jí)和維護(hù)方便的。所有,我們會(huì)經(jīng)常聽(tīng)到低耦合,高內(nèi)聚。這也就是spring的一個(gè)特點(diǎn)。


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI