成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

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

robin / 787人閱讀

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

簡單說兩句

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

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

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

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

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

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

模式概覽

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

其中主要分為三大類:

創(chuàng)建型模式

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

行為型模式

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

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

觀察者模式,模版模式,策略模式等,這些都屬于行為型模式。

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

六大原則

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

單一原則

意思就是,我們在編寫bug,不對,編寫代碼的時候在一個功能類中盡量負責(zé)單一的功能,這個功能應(yīng)當(dāng)盡量的烤爐周全,保持極致。

里氏替換原則

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

接口隔離原則

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

依賴倒置原則

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

迪米特原則

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

開閉原則

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

寫在最后

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

附:

模式 名稱 所屬分類
Abstract Factory 抽象工廠模式 創(chuàng)建型
Builder 建造模式 創(chuàng)建型
Factory Method 工廠方法模式 創(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 門面模式 結(jié)構(gòu)型
Flyweight 享元模式 結(jié)構(gòu)型
Proxy 代理模式 結(jié)構(gòu)型
Chain Of Responsibility 責(zé)任鏈模式 行為型
Command 命令模式 行為型
Interpreter 解釋器模式 行為型
Iterator 迭代子模式 行為型
Mediator 調(diào)停者模式 行為型
Memento 備忘錄模式 行為型
Observer 觀察者模式 行為型
State 狀態(tài)模式 行為型
Strategy 策略模式 行為型
Template Method 模板方法模式 行為型
Visitor 訪問者模式 行為型

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

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/68727.html

相關(guān)文章

  • 全棧開發(fā)自學(xué)路線

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

    galaxy_robot 評論0 收藏0
  • 全棧開發(fā)自學(xué)路線

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

    Scorpion 評論0 收藏0
  • Java 征途:行者的地圖

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

    dkzwm 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<