Java常用设计模式及应用场景介绍
Java常用設計模式有哪些?設計模式是設計代碼結構,方便開發或后期調整,學習Java必須要掌握一些常用設計模式,如單例模式、模板方法、工廠模式、建造者模式、適配器模式等。主要培養常用設計模式和代碼抽取優化能力,可能涉及6大設計原則及23種設計模式,今天簡單介紹集中。
設計模式是被編程者總結出來的一套被反復使用的、多數人知曉的、經過分類編目的代碼設計經驗。掌握常用的設計模式對于Java應聘者來說十分重要,如單例模式、工廠模式、建造者模式等。接下來具體料及一下Java常用設計模式及應用場景:
1、單例模式:保證一個類僅有一個實例并提供一個全局訪問點,如一些配置文件或者管理類可以設計為單例,常用的線程池也是單例。
2、模板方法:在定義好的算法骨架下允許子類為一個或多個步驟提供實現,一次性實現算法的不變部分將可變部分留給子類實現,當子類實現代碼邏輯雷同時可以使用此設計模式。
3、工廠模式:創建對象需要大量的重復代碼時,通過子類實現方法來創建對象。如Spring中通過工廠模式將創建對象的任務交給容器管理。
4、原型模式 :在應用程序可能有某些對象的結構比較復雜,但又需要頻繁的使用它們,如這個時候不斷的新建這個對象勢必會大大損耗系統內存的,這個時候需要使用原型模式來對這個結構復雜又要頻繁使用的對象進行克隆。所以原型模式就是用原型實例指定創建對象的種類,且通過復制這些原型創建新的對象。主要應用與那些創建新對象的成本過大時。它的主要優點就是簡化了新對象的創建過程,提高了效率,同時原型模式提供了簡化的創建結構。
5、建造者模式:講復雜對象的構建和表示分離,適用于流程固定,但是順序不一定固定的場景。如需要給一個對象多次給不同的屬性賦值,可以使用鏈式調用傳參,最后生成對象。如策略模式,觀察者模式,模板方法模式,foreach中的迭代器模式,spring 中ASM的訪問者模式,動態代理等都有一些了解。
6、適配器模式:在應用程序中可能需要將兩個不同接口的類來進行通信,在不修改這兩個的前提下可能會需要某個中間件來完成這個銜接的過程。這個中間件就是適配器。所謂適配器模式就是將一個類的接口,轉換成客戶期望的另一個接口。它可以讓原本兩個不兼容的接口能夠無縫完成對接。作為中間件的適配器將目標類和適配者解耦,增加了類的透明性和可復用性。
7、橋接模式 :如果說某個系統能夠從多個角度來進行分類,且每一種分類都可能會變化,那么我們需要做的就是講這多個角度分離出來,使得他們能獨立變化,減少他們之間的耦合,這個分離過程就使用了橋接模式。所謂橋接模式就是講抽象部分和實現部分隔離開來,使得他們能夠獨立變化。橋接模式將繼承關系轉化成關聯關系,封裝了變化,完成了解耦,減少了系統中類的數量,也減少了代碼量。
設計模式應用場景是什么?JavaEE應用中Spring用于創建IOC容器的監聽器就是基于觀察者模式的。Spring中獲取FileSystemResource和ClassPathResource等功能雷同的類時使用模板方法。
單例模式包含懶漢餓漢式以及不同的變種,工廠類設計模式一般也設計為單例。項目中的一些配置或引入外部的sdk需要創建管理類,或封裝自己的框架時需要用到單例;工廠方法在編碼時不能預見需要創建哪種類的實例。
設計模式是一套被反復使用、多數人知曉、經過分類編目的、代碼設計經驗的總結。使用設計模式是為了可重用代碼、讓代碼更容易被他人理解、保證代碼可靠性。設計模式于己于他人于系統都是多贏,設計模式使代碼編制真正工程化,設計模式是軟件工程的基石。
總結
以上是生活随笔為你收集整理的Java常用设计模式及应用场景介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: eclipse 工程中使用引入maven
- 下一篇: java美元兑换,(Java实现) 美元