-
常用的設計模式有哪些,作用是什么
設計模式一共23種,常用的設計模式有:- 工廠模式: 構建多個物件的工廠,
- 單例模式:單例類負責創建自己的物件,同時確保只有單個物件被創建
- 代理模式:代理其他類,增強原來類的功能,
- 外觀模式:包裝多個類的復雜性,對外提供統一的方法,
- 責任鏈模式:為了避免請求發送者與多個請求處理者耦合在一起,將所有請求的處理者通過前一物件記住其下一個物件的參考而連成一條鏈;當有請求發生時,可將請求沿著這條鏈傳遞,直到有物件處理它為止,
-
單例模式的懶漢和餓漢模式你了解嗎
懶漢模式:太懶了,第一次用的時候才去實體化,適合使用量較小的情況,
public class Singleton {
private Singleton() {
}
private static Singleton singleton = null;
public static Singleton getInstance() {
if (singleton == null) {
singleton = new Singleton();
}
return singleton;
}
}
餓漢模式:很勤快,類定義的時候就實體化了,執行緒安全的,適合訪問量比較大的情況,
public class Singleton {
private Singleton(){ }
private static final Singleton singleton = new Singleton();
public static Singleton getInstance(){
return singleton;
}
}
-
Spring框架用到了哪些設計模式
- 靜態工廠方法: Spring中的BeanFactory就是簡單工廠模式的體現,根據傳入一個唯一的標識來獲得Bean物件,但是否是在傳入引數后創建還是傳入引數前創建這個要根據具體情況來定,
- 單例模式:Spring提供了全域的訪問點BeanFactory,但沒有從構造器級別去控制單例,這是因為Spring管理的是是任意的Java物件,
- 代理模式:Spring AOP的實作原理就是動態代理和位元組碼操控,
- 配接器模式:將一個類的介面轉換成客戶希望的另外一個介面,Adapter模式使得原本由于介面不兼容而不能一起作業的那些類可以一起作業,Spring中在對于AOP的處理中有Adapter模式的例子,
- 模板方法:定義一個操作中的演算法的骨架,而將一些步驟延遲到子類中,Template Method使得子類可以不改變一個演算法的結構即可重定義該演算法的某些特定步驟,比如JdbcTemplate
-
你怎么選擇合適的設計模式
考慮設計模式怎么解決問題,找出與使用者問題相關的模式,研究模式如何相互關聯,考慮設計中那些是可變的,盡可能實作強內聚,松耦合,
參考(摘抄的文字著作權屬于原作者):
https://blog.csdn.net/zl1zl2zl3/article/details/83689539
http://c.biancheng.net/design_pattern/
https://www.cnblogs.com/huahai/p/7270913.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/37802.html
標籤:設計模式
上一篇:《深入淺出設計模式》簡記
下一篇:設計模式之?外觀模式
