一、類圖簡介
(1)簡介:
類圖描述系統(tǒng)中的對象模型,以及存在于它們之間的各種靜態(tài)關(guān)系。類圖也展示類的性質(zhì)和操作,以及應(yīng)用于對象連接方式的約束,類之間的關(guān)系主要包括關(guān)聯(lián)、泛化以及組合等。
二、工廠模式簡介
(1)意圖:
定義一個創(chuàng)建對象的接口,讓其子類自己決定實例化哪一個工廠類,工廠模式使其創(chuàng)建過程延遲到子類進行。
(2)主要解決:
主要解決接口選擇的問題。
(3)何時使用:
我們明確地計劃不同條件下創(chuàng)建不同實例時。
(4)如何解決:
讓其子類實現(xiàn)工廠接口,返回的也是一個抽象的產(chǎn)品。
(5)關(guān)鍵代碼:
創(chuàng)建過程在其子類執(zhí)行。
(6)應(yīng)用實例:
1、您需要一輛汽車,可以直接從工廠里面提貨,而不用去管這輛汽車是怎么做出來的,以及這個汽車里面的具體實現(xiàn)。
2、Hibernate 換數(shù)據(jù)庫只需換方言和驅(qū)動就可以。
(7)優(yōu)點:
1、一個調(diào)用者想創(chuàng)建一個對象,只要知道其名稱就可以了。
2、擴展性高,如果想增加一個產(chǎn)品,只要擴展一個工廠類就可以。
3、屏蔽產(chǎn)品的具體實現(xiàn),調(diào)用者只關(guān)心產(chǎn)品的接口。
(8)缺點:
每次增加一個產(chǎn)品時,都需要增加一個具體類和對象實現(xiàn)工廠,使得系統(tǒng)中類的個數(shù)成倍增加,在一定程度上增加了系統(tǒng)的復雜度,同時也增加了系統(tǒng)具體類的依賴。這并不是什么好事。
(9)使用場景:
1、日志記錄器:記錄可能記錄到本地硬盤、系統(tǒng)事件、遠程服務(wù)器等,用戶可以選擇記錄日志到什么地方。
2、數(shù)據(jù)庫訪問,當用戶不知道最后系統(tǒng)采用哪一類數(shù)據(jù)庫,以及數(shù)據(jù)庫可能有變化時。
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26