天天看點

單例模式和各種工廠模式的UML類圖詳解

來自 : http://blog.csdn.net/zh634455283/article/details/8285520

設計模式的重要性就不用多說了。各種設計模式在實際項目中用的是比比皆是。

一:簡單工廠模式和工廠模式

單例模式和各種工廠模式的UML類圖詳解

懂得一點UML,一看這幅類圖,就知道工廠模式是用來幹嘛的,說白了,就是提供一個抽象的基類接口,使得使用者不用記住具體的要成成的新的類的名字。

這裡隻列舉了一個産品,可以自行擴充多個産品,比如産品都有:香蕉、蘋果、橘子等等。指需要通知一聲工廠,工廠就會調用相應的 生産香蕉、生産蘋果、生産橘子等函數、而客戶不需要知道生産這些水果的具體過程。坐着等吃就行。

工廠模式的類圖如下。

單例模式和各種工廠模式的UML類圖詳解

二 :抽象工廠模式

上面 所講的工廠模式還不夠抽象,因為隻有産品抽象了,工廠并未抽象,上面所講的是一個工廠生産了所有需要的産品,但是,你想想,假設HTC廠家生産HTC手機、HTC電池、諾基亞手機。。。你覺得很奇怪嗎, 這個時候就需要抽象工廠模式來解決了,HTC應該生産HTC旗下的産品、蘋果生産蘋果系列的産品,這樣管理起來也友善。

單例模式和各種工廠模式的UML類圖詳解

實際工作中,需要配置一個XML配置檔案,這樣就可以與客戶達到一個很好互動性,客戶又不需要知道具體的邏輯實作,隻需要配置文本檔案,就能達到預期的效果了

三:單例模式

單例模式很常見,比如我們電腦的任務管理器就使用了單例模式。

當我們需要共享資料或需要資料同步的時候可以考慮使用單例模式。

單例模式和各種工廠模式的UML類圖詳解
  1.     private static TestSingleton testSingleton = new TestSingleton();  
  2.     private TestSingleton() {  
  3.         System.out.println("建新的對象");  
  4.     }  
  5.     public static TestSingleton getInstance() {  
  6.         return testSingleton;  
  7.     } 

繼續閱讀