成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專(zhuān)欄INFORMATION COLUMN

J2EE下的常用設(shè)計(jì)模式

robin / 917人閱讀

摘要:當(dāng)然,除了讓我們顯得更加專(zhuān)業(yè)之外,在自己所學(xué)習(xí)或者工作的項(xiàng)目中,適當(dāng)合理的使用設(shè)計(jì)模式,能夠給項(xiàng)目帶來(lái)很大的好處。

簡(jiǎn)單說(shuō)兩句

本文首發(fā)公眾號(hào)【一名打字員】

對(duì)不住各位老鐵了,年前說(shuō)好要更幾波JAVA的東西,又偷懶了,沒(méi)辦法,在這里用小錘錘偷偷錘了自己幾下。由于工作原因,更新時(shí)間不定,各位老鐵有問(wèn)題可以私聊我哈。

對(duì)于初學(xué)者或者是正在向中高級(jí)的Java程序猿(打字員)來(lái)說(shuō),時(shí)刻梳理自己所掌握的知識(shí)是十分重要的,近期本打字員會(huì)整理一下關(guān)于J2EE下面的幾種常用的設(shè)計(jì)模式,并逐個(gè)解析,希望大家能夠一起鞏固一下相關(guān)掌握的知識(shí)點(diǎn)。

為什么要用設(shè)計(jì)模式

相信很多人都有這個(gè)疑問(wèn),有的人說(shuō)在50萬(wàn)行以下的項(xiàng)目中,設(shè)計(jì)模式基本是沒(méi)有用的。當(dāng)然,除了讓我們code顯得更加專(zhuān)業(yè)之外,在自己所學(xué)習(xí)或者工作的項(xiàng)目中,適當(dāng)合理的使用設(shè)計(jì)模式,能夠給項(xiàng)目帶來(lái)很大的好處。首先,使用了合理的模式,團(tuán)隊(duì)里進(jìn)行溝通協(xié)作會(huì)很方便,交流成本有時(shí)候特別高,特別是在程序員之間。其次恰當(dāng)?shù)氖褂迷O(shè)計(jì)模式可以用以解決特定場(chǎng)景的問(wèn)題的一系列方法,幫助我們改善系統(tǒng)的設(shè)計(jì),增強(qiáng)系統(tǒng)的健壯性、可擴(kuò)展性,為以后鋪平道路。

最后用網(wǎng)絡(luò)上的一句概括來(lái)說(shuō),設(shè)計(jì)模式(Designpattern)就是一套被反復(fù)使用、多數(shù)人知曉的、經(jīng)過(guò)分類(lèi)編目的、代碼設(shè)計(jì)經(jīng)驗(yàn)的總結(jié)。

模式概覽

在實(shí)際的學(xué)習(xí)或者工作中,大家或多或少的會(huì)接觸或者使用一些Java的設(shè)計(jì)模式,在Java中存在23種設(shè)計(jì)模式,其圖如下:

其中主要分為三大類(lèi):

創(chuàng)建型模式

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

行為型模式

在文末會(huì)貼出所有的設(shè)計(jì)模式,其中本打字員映象里自己常用的模式一般有:

工廠(chǎng)模式、工廠(chǎng)方法模式、抽象工廠(chǎng)模式、單例模式等,這些都屬于創(chuàng)建型模式。

觀(guān)察者模式,模版模式,策略模式等,這些都屬于行為型模式。

包裝模式,適配器模式,組合模式,代理模式等,這些屬于結(jié)構(gòu)型模式。

六大原則

在學(xué)習(xí)使用設(shè)計(jì)模式的時(shí)候,我們需要了解這六大原則:

單一原則

意思就是,我們?cè)诰帉?xiě)bug,不對(duì),編寫(xiě)代碼的時(shí)候在一個(gè)功能類(lèi)中盡量負(fù)責(zé)單一的功能,這個(gè)功能應(yīng)當(dāng)盡量的烤爐周全,保持極致。

里氏替換原則

這個(gè)原則可能大家乍一眼不怎么能夠理解,與C#中里氏替換原則一致,這個(gè)意思就是一個(gè)子類(lèi)能夠替換父類(lèi)并且能夠正常的工作。有機(jī)智的童鞋要舉手提問(wèn)了,那Java中的多態(tài)會(huì)不會(huì)違背這種原則呢,其實(shí)不然。所謂的里氏替換原則就是讓你的某一段程序耦合于基類(lèi)或者接口,而不是具體繼承了基類(lèi)的子類(lèi)或?qū)崿F(xiàn)接口的具體類(lèi)型。僅替換子類(lèi)不會(huì)讓你這個(gè)程序的屬性有所改變。所謂多態(tài)機(jī)制,則是給了你達(dá)成上述原則的其中一種能力。

接口隔離原則

這個(gè)應(yīng)該比較好理解,見(jiàn)字如意。這個(gè)接口也叫做接口最小化原則,強(qiáng)調(diào)的是一個(gè)接口擁有的行為應(yīng)該盡可能的小。

依賴(lài)倒置原則

這個(gè)強(qiáng)調(diào)了高層模塊不該依賴(lài)于低層模塊,二者都應(yīng)該依賴(lài)于抽象,抽象不應(yīng)該依賴(lài)于細(xì)節(jié),細(xì)節(jié)應(yīng)該依賴(lài)于抽象。

迪米特原則

也稱(chēng)最小知道原則,即一個(gè)類(lèi)應(yīng)該盡量不要知道其他類(lèi)太多的東西,不要和陌生的類(lèi)有太多接觸。

開(kāi)閉原則

其實(shí)本打字員也對(duì)這個(gè)原則有點(diǎn)模糊,但是大體的意思就是一句話(huà)對(duì)修改關(guān)閉,對(duì)擴(kuò)展開(kāi)放。在網(wǎng)上瀏覽相關(guān)文章的時(shí)候提到過(guò)一句在大話(huà)設(shè)計(jì)模式中出現(xiàn)的總結(jié),“用抽象構(gòu)建框架,用細(xì)節(jié)實(shí)現(xiàn)擴(kuò)展”。我想這句話(huà)也許是對(duì)整體的原則做出的最好的解釋了吧。

寫(xiě)在最后

說(shuō)實(shí)話(huà),本打字員也不知道自己何時(shí)放棄,會(huì)停止編程,會(huì)不再擼代碼,因?yàn)檫@份工作對(duì)精神上的消耗確實(shí)很大。但是既然我們依然堅(jiān)持在這個(gè)崗位上,我們就應(yīng)該本著一名程序員的心態(tài),去學(xué)習(xí)新的技術(shù)與知識(shí),維護(hù)和鞏固現(xiàn)有的知識(shí)點(diǎn),為成為自己想象中的自己而努力吧。

附:

模式 名稱(chēng) 所屬分類(lèi)
Abstract Factory 抽象工廠(chǎng)模式 創(chuàng)建型
Builder 建造模式 創(chuàng)建型
Factory Method 工廠(chǎng)方法模式 創(chuàng)建型
Prototype 原始模型模式 創(chuàng)建型
Singleton 單例模式 創(chuàng)建型
Adapter 適配器(變壓器)模式 結(jié)構(gòu)型
Bridge 橋梁模式 結(jié)構(gòu)型
Composite 合成模式 結(jié)構(gòu)型
Decorator 裝飾模式 結(jié)構(gòu)型
Facade 門(mén)面模式 結(jié)構(gòu)型
Flyweight 享元模式 結(jié)構(gòu)型
Proxy 代理模式 結(jié)構(gòu)型
Chain Of Responsibility 責(zé)任鏈模式 行為型
Command 命令模式 行為型
Interpreter 解釋器模式 行為型
Iterator 迭代子模式 行為型
Mediator 調(diào)停者模式 行為型
Memento 備忘錄模式 行為型
Observer 觀(guān)察者模式 行為型
State 狀態(tài)模式 行為型
Strategy 策略模式 行為型
Template Method 模板方法模式 行為型
Visitor 訪(fǎng)問(wèn)者模式 行為型

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/68727.html

相關(guān)文章

  • 全棧開(kāi)發(fā)自學(xué)路線(xiàn)

    摘要:前言這里筑夢(mèng)師是一名正在努力學(xué)習(xí)的開(kāi)發(fā)工程師目前致力于全棧方向的學(xué)習(xí)希望可以和大家一起交流技術(shù)共同進(jìn)步用簡(jiǎn)書(shū)記錄下自己的學(xué)習(xí)歷程個(gè)人學(xué)習(xí)方法分享本文目錄更新說(shuō)明目錄學(xué)習(xí)方法學(xué)習(xí)態(tài)度全棧開(kāi)發(fā)學(xué)習(xí)路線(xiàn)很長(zhǎng)知識(shí)拓展很長(zhǎng)在這里收取很多人的建議以后決 前言 這里筑夢(mèng)師,是一名正在努力學(xué)習(xí)的iOS開(kāi)發(fā)工程師,目前致力于全棧方向的學(xué)習(xí),希望可以和大家一起交流技術(shù),共同進(jìn)步,用簡(jiǎn)書(shū)記錄下自己的學(xué)習(xí)歷程...

    galaxy_robot 評(píng)論0 收藏0
  • 全棧開(kāi)發(fā)自學(xué)路線(xiàn)

    摘要:前言這里筑夢(mèng)師是一名正在努力學(xué)習(xí)的開(kāi)發(fā)工程師目前致力于全棧方向的學(xué)習(xí)希望可以和大家一起交流技術(shù)共同進(jìn)步用簡(jiǎn)書(shū)記錄下自己的學(xué)習(xí)歷程個(gè)人學(xué)習(xí)方法分享本文目錄更新說(shuō)明目錄學(xué)習(xí)方法學(xué)習(xí)態(tài)度全棧開(kāi)發(fā)學(xué)習(xí)路線(xiàn)很長(zhǎng)知識(shí)拓展很長(zhǎng)在這里收取很多人的建議以后決 前言 這里筑夢(mèng)師,是一名正在努力學(xué)習(xí)的iOS開(kāi)發(fā)工程師,目前致力于全棧方向的學(xué)習(xí),希望可以和大家一起交流技術(shù),共同進(jìn)步,用簡(jiǎn)書(shū)記錄下自己的學(xué)習(xí)歷程...

    Scorpion 評(píng)論0 收藏0
  • Java 征途:行者的地圖

    摘要:老實(shí)說(shuō),當(dāng)時(shí)一進(jìn)入世界的大門(mén)就暈了,各種規(guī)范概念和英文縮寫(xiě)詞能把人整的暈暈乎乎。等新的英文縮寫(xiě)又出現(xiàn)了,一口老血還沒(méi)來(lái)得及噴出,又重新振作開(kāi)始新的學(xué)習(xí)征程。 showImg(http://upload-images.jianshu.io/upload_images/1131767-1c5d16e39435df10.jpg?imageMogr2/auto-orient/strip%7Ci...

    dkzwm 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<