摘要:相對于工廠模式,抽象工廠模式生產(chǎn)的對象更加具體,也更加豐富,但相對編碼也更加復(fù)雜。具體的抽象工廠模式的實現(xiàn)大家可以參考菜鳥教程。知道了工廠模式和抽象工廠模式的區(qū)別,請大家使用的時候應(yīng)該根據(jù)具體的情況進行選擇。
大家好,今天給大家分享一些Spring的學(xué)習(xí)心得,在講Spring之前,先和大家分享Spring中核心的設(shè)計模式。工廠模式
在聊概念之前我先問問大家:什么是工廠?
這個很簡單,工廠就是生產(chǎn)物品的地方,比如,鞋子工廠生產(chǎn)鞋子,工廠衣服生產(chǎn)衣服,汽車工廠生產(chǎn)汽車。
我們都是知道,Java是一種面向?qū)ο蟮恼Z言,那么對象是不是也會有對象工廠呢?
答案是肯定的,而工廠模式就是實現(xiàn)了Java對象工廠的一種創(chuàng)建性設(shè)計模式。
概念:工廠模式(Factory Pattern)就是一個創(chuàng)建對象的接口。不同的子類可以創(chuàng)建不同的對象。
知道了什么是工廠模式,那我們不禁要問了使用工廠模式和使用new關(guān)鍵字創(chuàng)建對象有什么區(qū)別?我們?yōu)槭裁匆M力去為創(chuàng)建對象再專門寫一個對象工廠呢?
我理解的工廠模式主要適用于以下幾種情況:
需要創(chuàng)建復(fù)雜對象的的時候都可以使用工廠模式。
創(chuàng)建過程更靈活,比如說我們創(chuàng)建JDBC的Connection連接需要設(shè)置驅(qū)動、用戶名密碼,Url 我們就可以使用工廠模式。
最后,也是最重要的一點,就是解耦。比如說,我現(xiàn)在要換一個數(shù)據(jù)庫,我直接在工廠里重寫一個新的創(chuàng)建方法就行了,實際的JDBC的操作幾乎不需要去更改。
這里我只是說一下我自己的理解,如果大家對工廠模式需要更加深入的了解可以參考菜鳥教程,其中寫得更加詳細。
抽象工廠模式既然聊到這里,我們就不得不提一下工廠模式的加強版——抽象工廠模式(Abstract Factory Pattern),其實,在我的理解中抽象工廠就是從其他工廠獲取原料的工廠。
如果我們需要一輛汽車,我們不需要自己造,可以直接從汽車工廠里拿,這就是工廠模式,但是汽車工廠也不是從零生產(chǎn)的,汽車工廠需要從發(fā)動機工廠買發(fā)動機,輪胎工廠買輪胎,對不對,汽車工廠就相當(dāng)于那個抽象工廠。
相對于工廠模式,抽象工廠模式生產(chǎn)的對象更加具體,也更加豐富,但相對編碼也更加復(fù)雜。具體的抽象工廠模式的實現(xiàn)大家可以參考菜鳥教程。
知道了工廠模式和抽象工廠模式的區(qū)別,請大家使用的時候應(yīng)該根據(jù)具體的情況進行選擇。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/68156.html
摘要:模塊負責(zé)的所有面向切面的功能??偨Y(jié)的統(tǒng)一管理,降低了對象之間的耦合對主流的框架提供了很好的集成支持提供眾多組件,事務(wù)管理,等具有高度可開放性,開發(fā)者可以自由選擇部分或全部主要使用工廠模式和代理模式。 聊完了Spring框架中最重要的兩種設(shè)計模式,我們來看一下Spring框架的模塊和結(jié)構(gòu)圖。 Spring框架的結(jié)構(gòu) 下圖是Spring官方給出的Spring框架的結(jié)構(gòu)圖。 showImg(...
摘要:聊完了工廠模式,下面我們來說框架中的另一個核心設(shè)計模式代理模式。這里的外賣小哥就相當(dāng)于是我們的代理。主要分為代理和代理。 聊完了工廠模式,下面我們來說Spring框架中的另一個核心設(shè)計模式——代理模式(Proxy Pattern)。 代理模式 大家可以先不用看概念,先舉個吃飯的例子:比如說我們想吃飯,我們可以選擇自己做飯吃、去飯店吃、叫外賣吃。如果我們選擇自己做著吃,我們就需要去買菜、...
摘要:通過我們可以更輕松地入門,更簡單的使用的框架。團隊為了擺脫框架中各類繁復(fù)紛雜的配置,使用約定優(yōu)于配置的思想,在基礎(chǔ)上整合了大量常用的第三方庫的開發(fā)框架。這里還要說的一點,的出現(xiàn)并不是單純的為了簡化開發(fā),更是為做鋪墊。 說完了Spring 我們來聊聊Spring的進階版Spring Boot,如果你還不知道Spring Boot,那希望這篇文章能夠為你指明方向。 Spring Boot ...
摘要:是結(jié)構(gòu)在框架中的一種表現(xiàn)形式。這句話聽起來有點繞,我們可以看一下下面這張圖,大家可以吧容器中的理解為全局變量,吧容器中的理解為局部變量。在方法體中可以訪問局部變量和全局變量,但是在方法外,就只能訪問全局變量,是不能訪問局部變量的。 聊完了Spring,我們來看看Spring在web方面的應(yīng)用Spring MVC。 MVC 首先我們來看什么是mvc? 大家知道在jsp里面也是可以寫jav...
摘要:系統(tǒng)中的各個微服務(wù)可被獨立部署,各個微服務(wù)之間是松耦合的。每個微服務(wù)僅關(guān)注于完成一件任務(wù)并很好地完成該任務(wù)。傳統(tǒng)架構(gòu)升級困難。新的輕量級協(xié)議容器化的出現(xiàn)。熔斷處理在微服務(wù)出現(xiàn)問題時防止出現(xiàn)雪崩效應(yīng)。 聊完Spring Boot,我們來看看Spring Boot最重要的一方面的應(yīng)用——Spring Cloud。 Spring Cloud 再聊SpringCloud之前我們先聊聊微服務(wù)。 ...
閱讀 2095·2021-11-02 14:48
閱讀 2771·2019-08-30 14:19
閱讀 2940·2019-08-30 13:19
閱讀 1308·2019-08-29 16:17
閱讀 3245·2019-08-26 14:05
閱讀 2999·2019-08-26 13:58
閱讀 3087·2019-08-23 18:10
閱讀 1113·2019-08-23 18:04