设计模式及相关
一、TextQuery的類圖
1、分類
2、創建型設計模式
3、結構型設計模式
4、行為型設計模式
1、概述
? ? ?基本思想還是一種對象池的思想,開辟一塊內存空間,里面存放了眾多(未死亡)的線程,池中線程執行調度由池管理器來處理。當有線程任務時,從池中取一個,執行完成后線程對象歸池,這樣可以避免反復創建線程對象所帶來的性能開銷,節省了系統的資源。
2、線程池組件
前向申明可以打破循環引用 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎
二、設計模式
1、分類
- 創建型設計模式:主要用于描述如何創建對象? 5種。
-
- 主要掌握
-
- 單例模式
- 工廠模式
- 抽象模式
- 結構型設計模式:主要用于描述如何實現類和對象的組合 ? 7種。
-
-
- 適配器
- 組合
- 代理
-
- 行為型設計模式:主要用于描述類或對象怎樣交互以及怎樣 分配職責 。 ?11種。
-
-
- 迭代器
- 觀察著
- 策略
-
2、創建型設計模式
3、結構型設計模式
4、行為型設計模式
- 靜態工廠方式
-
- 優點:創建對象時比較統一
- 缺點:
-
- 不滿足單一職責原則的,可以創建多種對象。
- 不滿足開放閉合原則,如果要創建新的對象,就要重新修改靜態工廠類
- 設計模式之工廠模式
-
- 優點:滿足單一職責原則,和開放閉合原則。每一個工廠只創建一個類型對象。
- 針對復雜對象的創建
- 有多個同類型的對象的時候,提供一個統一的接口。如果是一個簡單對象,不用使用工廠模式。
- Observer模式 ? ? ?與訂閱發布模式 ?很類似
-
- ----> ?一對多
- 定義對象間
- 如果傳遞的是指針或引用,稱之拉模式,由觀察者自己本身決定是否要獲取主題的信息。觀察者是主動的。
- 如果傳遞的就是狀態本身時,稱之推模式。觀察者是被動的。
- 必須掌握:單例模式、 工廠模式、 觀察者模式
- pthread_cond_wait? ? 條件變量,當條件不滿足時,會阻塞,然后解鎖,若滿足條件也會阻塞,然后去判斷是否可以加鎖,然后繼續執行下面的操作。
- 生產者消費者模型
-
- 面對對象
-
- 基于對象
三、線程池
1、概述
? ? ?基本思想還是一種對象池的思想,開辟一塊內存空間,里面存放了眾多(未死亡)的線程,池中線程執行調度由池管理器來處理。當有線程任務時,從池中取一個,執行完成后線程對象歸池,這樣可以避免反復創建線程對象所帶來的性能開銷,節省了系統的資源。
2、線程池組件
- 線程池管理器(ThreadPool):用于創建并管理線程池
- 工作線程(WorkThread): 線程池中的線程
- 任務接口(Task):每個任務必須實現的接口,以供工作線程調度任務的執行。
- 任務隊列(Queue):用于存放沒有處理的任務。提供一種緩沖機制。
前向申明可以打破循環引用 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎
總結
- 上一篇: Rust 语法索引
- 下一篇: WPF实现TextBox水印效果