国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

65.Spring 框架中都用到了哪些設(shè)計模式?

這篇具有很好參考價值的文章主要介紹了65.Spring 框架中都用到了哪些設(shè)計模式?。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

Spring 設(shè)計模式總結(jié)

1.簡單工廠 - BeanFactory

2.工廠方法 - FactoryBean

3.單例模式 - Bean實例

在我們的系統(tǒng)中,有一些對象其實我們只需要一個,比如說:線程池、緩存、對話框、注冊表、日志對象、充當(dāng)打印機(jī)、顯卡等設(shè)備驅(qū)動程序的對象。事實上,這一類對象只能有一個實例,如果制造出多個實例就可能會導(dǎo)致一些問題的產(chǎn)生,比如:程序的行為異常、資源使用過量、或者不一致性的結(jié)果。
使用單例模式的好處:

  • 對于頻繁使用的對象,可以省略創(chuàng)建對象所花費的時間,這對于那些重量級對象而言,是非常可觀的一筆系統(tǒng)開銷;
  • 由于 new 操作的次數(shù)減少,因而對系統(tǒng)內(nèi)存的使用頻率也會降低,這將減輕 GC 壓力,縮短 GC 停頓時間。

Spring 中 bean 的默認(rèn)作用域就是 singleton(單例)的。 除了 singleton 作用域,Spring 中 bean 還有下面幾種作用域:

  • prototype : 每次請求都會創(chuàng)建一個新的 bean 實例。
  • request : 每一次HTTP請求都會產(chǎn)生一個新的bean,該bean僅在當(dāng)前HTTP request內(nèi)有效。
  • session : 每一次HTTP請求都會產(chǎn)生一個新的 bean,該bean僅在當(dāng)前 HTTP session 內(nèi)有效。
  • global-session: 全局session作用域,僅僅在基于portlet的web應(yīng)用中才有意義,Spring5已經(jīng)沒有了。Portlet是能夠生成語義代碼(例如:HTML)片段的小型Java Web插件。它們基于portlet容器,可以像servlet一樣處理HTTP請求。但是,與 servlet 不同,每個 portlet 都有不同的會話

4.適配器模式 - SpringMVC中的HandlerAdatper

5.裝飾器模式 - BeanWrapper

6.代理模式 - AOP底層

代理模式在 AOP 中的應(yīng)用
AOP(Aspect-Oriented Programming:面向切面編程)能夠?qū)⒛切┡c業(yè)務(wù)無關(guān),卻為業(yè)務(wù)模塊所共同調(diào)用的邏輯或責(zé)任(例如事務(wù)處理、日志管理、權(quán)限控制等)封裝起來,便于減少系統(tǒng)的重復(fù)代碼,降低模塊間的耦合度,并有利于未來的可拓展性和可維護(hù)性。
Spring AOP 就是基于動態(tài)代理的,如果要代理的對象,實現(xiàn)了某個接口,那么Spring AOP會使用JDK Proxy,去創(chuàng)建代理對象,而對于沒有實現(xiàn)接口的對象,就無法使用 JDK Proxy 去進(jìn)行代理了,這時候Spring AOP會使用Cglib ,這時候Spring AOP會使用 Cglib 生成一個被代理對象的子類來作為代理

7.觀察者模式 - spring的事件監(jiān)聽

觀察者模式是一種對象行為型模式。它表示的是一種對象與對象之間具有依賴關(guān)系,當(dāng)一個對象發(fā)生改變的時候,這個對象所依賴的對象也會做出反應(yīng)。Spring 事件驅(qū)動模型就是觀察者模式很經(jīng)典的一個應(yīng)用。Spring 事件驅(qū)動模型非常有用,在很多場景都可以解耦我們的代碼。比如我們每次添加商品的時候都需要重新更新商品索引,這個時候就可以利用觀察者模式來解決這個問題。

8.策略模式 - excludeFilters、includeFilters

9.模版方法模式 - Spring幾乎所有的外接擴(kuò)展都采用這種模式

模板方法模式是一種行為設(shè)計模式,它定義一個操作中的算法的骨架,而將一些步驟延遲到子類中。 模板方法使得子類可以不改變一個算法的結(jié)構(gòu)即可重定義該算法的某些特定步驟的實現(xiàn)方式

public abstract class Template { 
    //這是我們的模板方法 
    public final void TemplateMethod(){ 
        PrimitiveOperation1();   
        PrimitiveOperation2(); 
        PrimitiveOperation3(); 
    } 
 
    protected void  PrimitiveOperation1(){ 
        //當(dāng)前類實現(xiàn) 
    } 
     
    //被子類實現(xiàn)的方法 
    protected abstract void PrimitiveOperation2(); 
    protected abstract void PrimitiveOperation3(); 
 
} 
public class TemplateImpl extends Template { 
 
    @Override 
    public void PrimitiveOperation2() { 
        //當(dāng)前類實現(xiàn) 
    } 
     
    @Override 
    public void PrimitiveOperation3() { 
        //當(dāng)前類實現(xiàn) 
    } 
} 
 

Spring 中 jdbcTemplate、hibernateTemplate 等以 Template 結(jié)尾的對數(shù)據(jù)庫操作的類,它們就使用到了模板模式。一般情況下,我們都是使用繼承的方式來實現(xiàn)模板模式,但是 Spring 并沒有使用這種方式,而是使用Callback 模式與模板方法模式配合,既達(dá)到了代碼復(fù)用的效果,同時增加了靈活性。文章來源地址http://www.zghlxwxcb.cn/news/detail-818701.html

  • 10.責(zé)任鏈模式 - Aop的方法調(diào)用

到了這里,關(guān)于65.Spring 框架中都用到了哪些設(shè)計模式?的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Spring中使用了哪些設(shè)計模式

    1、工廠模式 在各種BeanFactory以及ApplicationContext創(chuàng)建中都用到了。 2、模板模式 在各種BeanFactory以及ApplicationContext實現(xiàn)中也都用到了。 3、代理模式 Spring AOP 利用了AspectJ AOP實現(xiàn)的,AspectJ AOP底層使用了動態(tài)代理。 4、策略模式 加載資源文件的方式,使用了不同的方法,如ClassP

    2024年02月09日
    瀏覽(25)
  • 設(shè)計模式_spring框架中常用的8種設(shè)計模式

    設(shè)計模式_spring框架中常用的8種設(shè)計模式

    spring框架中常用到的8種設(shè)計模式清單如下: 設(shè)計模式 使用地方 備注 工廠模式 BeanFactory ApplicationContext 單例模式 Spring中的Bean 代理模式 Spring AOP java反射實現(xiàn)動態(tài)代理 模板方法模式 Spring中以Template結(jié)尾的類 使用繼承的方式實現(xiàn) 觀察者模式 Spring事件驅(qū)動模型 適配器模式 Spri

    2023年04月08日
    瀏覽(21)
  • Spring框架中的8種設(shè)計模式

    前言 Spring框架中的8種設(shè)計模式分別是: 1、簡單工廠。2、工廠方法。3、單例模式。4、適配器模 式。5、裝飾器模式。6、代理模式。7、觀察者模式。8、策略模式. 1、簡單工廠 Spring中的 BeanFactory 就是簡單工廠模式的體現(xiàn), 根據(jù)傳入一個唯一的標(biāo)識來獲得Bean對象 , 但是否在

    2024年02月05日
    瀏覽(18)
  • 【開源與項目實戰(zhàn):開源實戰(zhàn)】85 | 開源實戰(zhàn)四(中):剖析Spring框架中用來支持?jǐn)U展的兩種設(shè)計模式

    【開源與項目實戰(zhàn):開源實戰(zhàn)】85 | 開源實戰(zhàn)四(中):剖析Spring框架中用來支持?jǐn)U展的兩種設(shè)計模式

    上一節(jié)課中,我們學(xué)習(xí)了 Spring 框架背后蘊藏的一些經(jīng)典設(shè)計思想,比如約定優(yōu)于配置、低侵入松耦合、模塊化輕量級等等。我們可以將這些設(shè)計思想借鑒到其他框架開發(fā)中,在大的設(shè)計層面提高框架的代碼質(zhì)量。這也是我們在專欄中講解這部分內(nèi)容的原因。 除了上一節(jié)課中

    2024年02月11日
    瀏覽(19)
  • AI問答:前端需要掌握的設(shè)計模式/vue項目使用了哪些設(shè)計模式/vue項目開發(fā)可以使用哪些設(shè)計模式

    AI問答:前端需要掌握的設(shè)計模式/vue項目使用了哪些設(shè)計模式/vue項目開發(fā)可以使用哪些設(shè)計模式

    一、理解什么是設(shè)計模式 設(shè)計模式是對軟件設(shè)計開發(fā)過程中反復(fù)出現(xiàn)的某類問題的通用解決方案。 設(shè)計模式是一個在軟件設(shè)計領(lǐng)域中被廣泛應(yīng)用的概念,它指的是一套被公認(rèn)為有效的解決特定問題的設(shè)計思路和方法。 設(shè)計模式更多的是指導(dǎo)思想和方法論,而不是現(xiàn)成的代碼

    2024年02月09日
    瀏覽(25)
  • 什么是設(shè)計模式?常用的設(shè)計有哪些?

    單例模式 工廠模式 代理模式(proxy) 設(shè)計模式是前輩們經(jīng)過無數(shù)次實踐所總結(jié)的一些方法(針對特定問題的特定方法) 這些設(shè)計模式中的方法都是經(jīng)過反復(fù)使用過的。 1、單例模式(懶漢式、餓漢式) 步驟: 1、構(gòu)造方法私有化,讓除了自己類能創(chuàng)建,其他類都不能創(chuàng)建。

    2024年02月13日
    瀏覽(26)
  • Java程序中常用的設(shè)計模式有哪些和該種設(shè)計模式解決的痛點

    設(shè)計模式是大量程序員智慧的結(jié)晶,是優(yōu)秀的代碼范式,是以前那些大佬程序員的編程經(jīng)驗總結(jié),非常值得學(xué)習(xí)。 在軟件開發(fā)中,有許多常用的設(shè)計模式,每種模式都解決了特定類型的問題。以下是一些常見的設(shè)計模式及其簡要介紹: 單例模式 (Singleton): 定義:確保類只有一

    2024年02月09日
    瀏覽(18)
  • 設(shè)計模式學(xué)習(xí)筆記 - 設(shè)計模式與范式 -行為型:9.迭代器模式(上):相比直接遍歷集合數(shù)據(jù),使用迭代器模式有哪些優(yōu)勢?

    設(shè)計模式學(xué)習(xí)筆記 - 設(shè)計模式與范式 -行為型:9.迭代器模式(上):相比直接遍歷集合數(shù)據(jù),使用迭代器模式有哪些優(yōu)勢?

    上篇文章,我們學(xué)習(xí)了狀態(tài)模式。狀態(tài)模式是狀態(tài)機(jī)的一種實現(xiàn)方式。它通過將事件觸發(fā)的狀態(tài)轉(zhuǎn)移和動作執(zhí)行,拆分到不同的狀態(tài)類中,以此來避免狀態(tài)機(jī)類中的分支判斷邏輯,應(yīng)對狀態(tài)機(jī)類代碼的復(fù)雜性。 本章,學(xué)習(xí)另外一種行為型設(shè)計模式,迭代器模式。它用來遍歷集

    2024年04月15日
    瀏覽(31)
  • UI設(shè)計模式是什么?有哪些常用的?

    UI設(shè)計模式是什么?有哪些常用的?

    UI設(shè)計模式是針對常見的用戶界面問題提出的解決方案。當(dāng)解決方案得到驗證時,它經(jīng)常被使用,最終演變成可重復(fù)使用的設(shè)計模式。 設(shè)計師可以根據(jù)不同的網(wǎng)站功能類型選擇使用相應(yīng)的網(wǎng)站UI設(shè)計模式,從而創(chuàng)建一致高效的網(wǎng)站UI界面。 本文推薦8種常見的網(wǎng)站UI設(shè)計模式。

    2024年02月09日
    瀏覽(18)
  • spring的設(shè)計模式----簡單工廠模式

    spring的設(shè)計模式----簡單工廠模式

    spring中IoC 控制反轉(zhuǎn),底層是工廠模式。 工廠模式(Factory Pattern)是 Java 中最常用的設(shè)計模式之一。這種類型的設(shè)計模式屬于創(chuàng)建型模式,它提供了一種創(chuàng)建對象的最佳方式。 工廠模式提供了一種將對象的實例化過程封裝在工廠類中的方式。通過使用工廠模式,可以將對象的

    2024年02月17日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包