教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

Java常用的設計模式有哪些?【Java面試題】

更新時間:2021年03月17日16時32分 來源:傳智教育 瀏覽次數(shù):

設計模式是唄編程者總結出來的一套被反復使用的、多數(shù)人知曉的、經(jīng)過分類編目的、代碼設計經(jīng)驗。掌握幾種常用的設計模式,對于Java應聘者來說十分重要,比如單例模式、工廠模式、建造者模式等等,接下來就來簡單介紹一下這幾種常見的設計模式和它們的應用場景。


(1)考察目標

考官主要是對一些常用設計模式和代碼抽取優(yōu)化能力的考核,問題可能涉及6大設計原則及23種設計模式。

(2)題目分析

比較熟悉的有:

單例模式:

保證一個類僅有一個實例,并提供一個全局訪問點,比如一些配置文件或者管理類可以設計為單例,我們常用的線程池也是單例的。

模板方法:

在定義好的算法骨架下,允許子類為一個或多個步驟提供實現(xiàn),一次性實現(xiàn)算法的不變部分,將可變部分留給子類實現(xiàn),當子類實現(xiàn)代碼邏輯雷同時,可以使用此設計模式。

工廠模式:創(chuàng)建對象需要大量的重復代碼時,通過子類實現(xiàn)方法來創(chuàng)建對象。如Spring中通過工廠模式將創(chuàng)建對象的任務交給容器管理。

建造者模式:

講復雜對象的構建和表示分離,適用于流程固定,但是順序不一定固定的場景。如需要給一個對象多次給不同的屬性賦值,可以使用鏈式調(diào)用傳參,最后生成對象。

另外,如策略模式,觀察者模式,模板方法模式,foreach中的迭代器模式,spring 中ASM的訪問者模式,動態(tài)代理等都有一些了解。

(3)應用場景

JavaEE應用中,Spring用于創(chuàng)建IOC容器的監(jiān)聽器就是基于觀察者模式的。

Spring中獲取FileSystemResource和ClassPathResource等功能雷同的類時使用模板方法。

單例模式:包含懶漢餓漢式以及不同的變種,工廠類設計模式一般也設計為單例。項目中的一些配置,或者引入外部的sdk需要創(chuàng)建管理類,或者封裝自己的框架時,需要用到單例

工廠方法:在編碼時不能預見需要創(chuàng)建哪種類的實例。


(4)總結

本題主要考察的是:

1)常用設計模式

2)代碼抽取優(yōu)化能力


猜你喜歡:

Java設計模式之單例模式以及單例所引發(fā)的思考

設計模式-責任鏈

傳智教育java培訓

0 分享到:
和我們在線交談!