成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Spring中用到了哪些設(shè)計(jì)模式?

開發(fā) 架構(gòu)
Spring是一個(gè)非常經(jīng)典的框架,它用的的設(shè)計(jì)模式也非常多。而且很多設(shè)計(jì)模式經(jīng)常是混合使用的,都是你中有我,我中有你。所以,我們?cè)陂喿x代碼的時(shí)候,還不能簡(jiǎn)單地?cái)喽硞€(gè)類就一定是只用了某一種設(shè)計(jì)模式。

?一位應(yīng)屆畢業(yè)生被問到這樣一道面試題,說Spring用到了哪些設(shè)計(jì)模式?其實(shí)只要Spring使用得夠熟練,回答這道題還是非常輕松的。因?yàn)镾pring的命名非常規(guī)范,基本上從類名就可以看得出來用到了哪些設(shè)計(jì)模式。

今天,我給大家分享一下我的理解。

我給大家總結(jié)以下8種設(shè)計(jì)模式在Spring中的應(yīng)用:

圖片

1、工廠模式。

Spring的BeanFactory類,就是使用了簡(jiǎn)單工廠模式。它主要提供getBean()方法,用來創(chuàng)建對(duì)象的實(shí)例;我們見得比較多的ApplicationContext也是繼承自BeanFactory。

圖片

2、單例模式。

Spring中的Bean默認(rèn)為singleton單例。我們可以通過配置Bean的作用域scope參數(shù)來進(jìn)行修改。Spring Bean一共有5種內(nèi)置的作用域,分別是singleton、prototype、request、session、globalSession。

圖片

3、裝飾器模式。

在Spring中,只要見到以Wrapper命名的類基本都是使用裝飾器模式。比如BeanWrapper,用來訪問Bean的屬性和方法。

圖片

4、策略模式。

Spring中Bean的實(shí)例化采用的就是策略模式。因?yàn)锽ean的實(shí)例化包含原生對(duì)象的實(shí)例化,和代理對(duì)象的實(shí)例化,不同對(duì)象實(shí)例化的邏輯也不一樣,所以實(shí)例化策略也不一樣,比如SimpleInstantiationStrategy就是Spring中默認(rèn)的實(shí)例化策略。

圖片

5、適配器模式。

在Spring,只要是以Adapter命名的類基本都是適配器模式的應(yīng)用。比如MVC模塊中的HandlerAdapter。

圖片

6、代理模式。

比如AOP模塊中的AopProxy,用到了JDK的動(dòng)態(tài)代理和CGLIB字節(jié)碼生成技術(shù);

圖片

7、模板方法模式。

主要用來解決代碼重復(fù)的問題。Spring提供了非常多的模板類來減少重復(fù)代碼,基本都是以Template結(jié)尾,比如RestTemplate,JmsTemplate,JdbcTemplate。

圖片

8、觀察者模式。

主要用于當(dāng)一個(gè)對(duì)象的狀態(tài)發(fā)生改變時(shí),所有依賴于它的對(duì)象都會(huì)得到通知,在Spring中一般以Listener結(jié)尾,比如ApplicationListener等等。

當(dāng)然,Spring是一個(gè)非常經(jīng)典的框架,它用的的設(shè)計(jì)模式也非常多。而且很多設(shè)計(jì)模式經(jīng)常是混合使用的,都是你中有我,我中有你。所以,我們?cè)陂喿x代碼的時(shí)候,還不能簡(jiǎn)單地?cái)喽硞€(gè)類就一定是只用了某一種設(shè)計(jì)模式。

以上就是我對(duì)Spring中主要設(shè)計(jì)模式的分享。

責(zé)任編輯:武曉燕 來源: Tom彈架構(gòu)
相關(guān)推薦

2021-06-08 07:04:46

Dubbo設(shè)計(jì)模式

2023-07-11 08:50:34

2020-03-18 09:43:37

開發(fā)技能代碼

2024-11-26 14:29:48

2019-05-29 17:20:07

Spring設(shè)計(jì)模式Java

2021-05-31 07:58:59

Spring設(shè)計(jì)模式

2020-01-02 15:43:29

Spring設(shè)計(jì)策略

2025-05-09 09:05:00

Spring框架設(shè)計(jì)模式

2021-10-27 17:57:35

設(shè)計(jì)模式場(chǎng)景

2023-10-04 07:27:33

WebPhotoshop

2024-05-30 07:37:30

2025-05-12 07:43:14

SpringMVC設(shè)計(jì)模式代碼

2021-08-11 17:22:11

設(shè)計(jì)模式單例

2010-05-11 14:23:05

Unix命令

2021-02-15 22:07:18

項(xiàng)目策略模式

2011-09-08 16:30:59

SQL Server查詢

2023-01-09 08:09:07

Spring項(xiàng)目模式

2010-04-02 10:04:21

Oracle結(jié)構(gòu)

2023-07-03 07:39:43

Spring框架設(shè)計(jì)模式

2019-11-07 11:49:14

架構(gòu)運(yùn)維技術(shù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 日本三级电影在线观看视频 | 亚洲精品在线观看视频 | 黄视频欧美| 欧美三级久久久 | 国产区在线免费观看 | 免费看a | 成人欧美一区二区三区在线播放 | 午夜网 | av中文字幕在线 | 三级成人在线 | 欧美一级三级在线观看 | 国产精品日日做人人爱 | 久久噜噜噜精品国产亚洲综合 | 久久久久国产精品午夜一区 | av黄色在线观看 | 免费视频二区 | 99小视频 | 日干夜干 | 亚洲精品一级 | 国产日韩欧美一区二区在线播放 | 九九久久免费视频 | 久久99精品久久 | 中文久久 | 国产第一页在线观看 | 高清成人免费视频 | 国产精品视频在线播放 | 国产高清精品一区二区三区 | 久久久久无码国产精品一区 | 欧美一级免费看 | 日韩欧美国产电影 | 久久噜噜噜精品国产亚洲综合 | 欧美黄色精品 | 91在线观看 | 久久精品在线免费视频 | 亚洲电影一区二区三区 | av香港经典三级级 在线 | 在线观看av网站永久 | 国产激情视频在线免费观看 | 狠狠操你 | 一区视频 | 中国一级特黄真人毛片免费观看 |