目前國內80%程序員的主要工作是調用組合api實現各種業務需求,在頂層架構師設定好的框架下,做著重復且無聊的編碼工作!如果未來ai被廣泛應用,那么被替代的風險是很高的!比較扎心的是:其實目前用ai生成片段代碼已經是各個公司比較普遍的做法了!如果普通程序員想提高避免早早退休,多了解一些設計模式是非常有必要的,不僅能提升自己的編碼能力,還能夠讓大家感受到編碼其實是挺有趣的!
注意:大家如果想更好的學習體驗設計模式的應用,還是需要多了解Java編碼!Javascript和Python雖然應用更加廣泛,但是設計模式體驗相對較弱。
設計模式介紹
設計模式(Design pattern)是一套被反復使用、多數人知曉的、經過分類編目的、代碼設計經驗的總結。使用設計模式是為了可重用代碼、讓代碼更容易被他人理解、保證代碼可靠性。 毫無疑問,設計模式于己于他人于系統都是多贏的,設計模式使代碼編制真正工程化,設計模式是軟件工程的基石,如同大廈的一塊塊磚石一樣。項目中合理的運用設計模式可以完美的解決很多問題,每種模式在現在中都有相應的原理來與之對應,每一個模式描述了一個在我們周圍不斷重復發生的問題,以及該問題的核心解決方案,這也是它能被廣泛應用的原因。
設計模式的分類
Java體系中總體來說設計模式共分為三大類共二十三種:
1.創建型模式,共五種:工廠方法模式、抽象工廠模式、單例模式、建造者模式、原型模式。創建型模式重點在于如何生成對象。
2.結構型模式,共七種:適配器模式、裝飾器模式、代理模式、外觀模式、橋接模式、組合模式、享元模式。結構型模式重點在于將類或對象按照某種布局組成更大的結構,關注多個類或者對象之間怎樣相互協作共同完成單個對象都無法單獨完成的任務,它涉及算法與對象間的職責分配。
3.行為型模式,共十一種:策略模式、模板方法模式、觀察者模式、迭代子模式、責任鏈模式、命令模式、備忘錄模式、狀態模式、訪問者模式、中介者模式、解釋器模式。行為型模式是對在不同的對象之間劃分責任和實現算法的抽象化。行為型模式比較復雜,這十一種模式的關系如下圖所示:
如果把程序比作裝修的話,創建型模式描述構成零件的方式;結構型模式描述的是這些零件如何組合能構成一個小模塊;行為型模式描述的是這些對象或者模塊間如何優雅的相互協作完成任務,即裝修修的思路。
測試開發工作中常用的設計模式
23種設計模式我就不一一舉例了,我是一名測試開發工程師,在實際工作中用的最多的是以下4模式,大家可以查看相關連接閱讀具體文章,先找找感覺
創建模型:單例。
一文讀懂Java中的設計模式——單例模式!默認情況下,Spring的Bean就是單例的-CSDN博客
結構型模式:適配器模式。
一文讀懂Java中的設計模式——適配器模式,對于兼容不同系統特別適用!-CSDN博客
行為型模式:策略(應用最為廣泛)、模板方法。
一文讀懂Java中的設計模式——模板方法,給大家的代碼添點料!-CSDN博客
我的每一篇文章都希望幫助讀者解決實際工作中遇到的問題!如果文章幫到了您,勞煩點贊、收藏、轉發!您的鼓勵是我不斷更新文章最大的動力!