
目前國內(nèi)80%程序員的主要工作是調(diào)用組合api實現(xiàn)各種業(yè)務(wù)需求,在頂層架構(gòu)師設(shè)定好的框架下,做著重復(fù)且無聊的編碼工作!如果未來ai被廣泛應(yīng)用,那么被替代的風險是很高的!比較扎心的是:其實目前用ai生成片段代碼已經(jīng)是各個公司比較普遍的做法了!如果普通程序員想提高避免早早退休,多了解一些設(shè)計模式是非常有必要的,不僅能提升自己的編碼能力,還能夠讓大家感受到編碼其實是挺有趣的!
注意:大家如果想更好的學(xué)習體驗設(shè)計模式的應(yīng)用,還是需要多了解Java編碼!Javascript和Python雖然應(yīng)用更加廣泛,但是設(shè)計模式體驗相對較弱。
設(shè)計模式介紹
設(shè)計模式(Design pattern)是一套被反復(fù)使用、多數(shù)人知曉的、經(jīng)過分類編目的、代碼設(shè)計經(jīng)驗的總結(jié)。使用設(shè)計模式是為了可重用代碼、讓代碼更容易被他人理解、保證代碼可靠性。 毫無疑問,設(shè)計模式于己于他人于系統(tǒng)都是多贏的,設(shè)計模式使代碼編制真正工程化,設(shè)計模式是軟件工程的基石,如同大廈的一塊塊磚石一樣。項目中合理的運用設(shè)計模式可以完美的解決很多問題,每種模式在現(xiàn)在中都有相應(yīng)的原理來與之對應(yīng),每一個模式描述了一個在我們周圍不斷重復(fù)發(fā)生的問題,以及該問題的核心解決方案,這也是它能被廣泛應(yīng)用的原因。
設(shè)計模式的分類
Java體系中總體來說設(shè)計模式共分為三大類共二十三種:
1.創(chuàng)建型模式,共五種:工廠方法模式、抽象工廠模式、單例模式、建造者模式、原型模式。創(chuàng)建型模式重點在于如何生成對象。
2.結(jié)構(gòu)型模式,共七種:適配器模式、裝飾器模式、代理模式、外觀模式、橋接模式、組合模式、享元模式。結(jié)構(gòu)型模式重點在于將類或?qū)ο蟀凑漳撤N布局組成更大的結(jié)構(gòu),關(guān)注多個類或者對象之間怎樣相互協(xié)作共同完成單個對象都無法單獨完成的任務(wù),它涉及算法與對象間的職責分配。
3.行為型模式,共十一種:策略模式、模板方法模式、觀察者模式、迭代子模式、責任鏈模式、命令模式、備忘錄模式、狀態(tài)模式、訪問者模式、中介者模式、解釋器模式。行為型模式是對在不同的對象之間劃分責任和實現(xiàn)算法的抽象化。行為型模式比較復(fù)雜,這十一種模式的關(guān)系如下圖所示:

如果把程序比作裝修的話,創(chuàng)建型模式描述構(gòu)成零件的方式;結(jié)構(gòu)型模式描述的是這些零件如何組合能構(gòu)成一個小模塊;行為型模式描述的是這些對象或者模塊間如何優(yōu)雅的相互協(xié)作完成任務(wù),即裝修修的思路。
測試開發(fā)工作中常用的設(shè)計模式
23種設(shè)計模式我就不一一舉例了,我是一名測試開發(fā)工程師,在實際工作中用的最多的是以下4模式,大家可以查看相關(guān)連接閱讀具體文章,先找找感覺
創(chuàng)建模型:單例。
一文讀懂Java中的設(shè)計模式——單例模式!默認情況下,Spring的Bean就是單例的-CSDN博客
結(jié)構(gòu)型模式:適配器模式。
一文讀懂Java中的設(shè)計模式——適配器模式,對于兼容不同系統(tǒng)特別適用!-CSDN博客
行為型模式:策略(應(yīng)用最為廣泛)、模板方法。
一文讀懂Java中應(yīng)用最廣泛的策略模式-CSDN博客
一文讀懂Java中的設(shè)計模式——模板方法,給大家的代碼添點料!-CSDN博客
我的每一篇文章都希望幫助讀者解決實際工作中遇到的問題!如果文章幫到了您,勞煩點贊、收藏、轉(zhuǎn)發(fā)!您的鼓勵是我不斷更新文章最大的動力!