- 環境
- 兩個執行緒(A,B),三個task(a,b,c)
- 同步
- 三個task依序執行,A跟B執行緒將先進來的task執行完後才會釋放,等待下一個task執行
- 異步
- 三個task依序執行,A跟B執行緒會不斷切換執行目前佇列的task,達到三個task同時執行的目的
- 原因是最大的消耗是在I/O的時候,所以在I/O處理階段,執行緒會切割執行下一個task
- 並行
- 兩個task一組做並行,接著執行下一個task,此時兩個執行緒會同時被兩個task一組所佔用,第三個task需等待執行
2019年3月27日 星期三
同步,異步,並行
2019年2月23日 星期六
工廠模式(Factory Pattern)
- 前言
- 工廠模式的精神在於透過類別方法,將繼承同一類別的各子類別初始化並回傳
- 以下利用不同特徵的工廠模式例子,做進一步的說明
- 系列文章
- 簡單工廠模式
- 有一類別A
一類別A-1繼承類別A
一類別A-2繼承類別A - 有一類別factory-A,提供一方法透過參數返回相對應初始化後的類別
- 工廠模式
- 有一類別A
一類別A-1繼承類別A
一類別A-2繼承類別A - 有一介面factory-A,提供一方法返回類別A
一類別factory-A-1實作factory-A,覆寫方法,初始化A-1,返回A-1
一類別factory-A-2實作factory-A,覆寫方法,初始化A-2,返回A-2 - 抽象工廠模式
- 有一類別A,包含以下類別B與類別C
一類別A-1繼承類別A
一類別A-2繼承類別A - 有一類別B
一類別B-1繼承類別B
一類別B-2繼承類別B - 有一類別C
一類別C-1繼承類別C
一類別C-2繼承類別C - 有一介面factory-A,提供一方法返回類別A
一類別factory-A-1實作factory-A,初始化類別factory-BC-1,覆寫方法,初始化A-1,給予B-1與C-1,返回A-1
一類別factory-A-2實作factory-A,初始化類別factory-BC-2,覆寫方法,初始化A-2,給予B-2與C-2,返回A-2 - 有一介面factory-BC,提供一方法返回類別B,提供一方法返回類別C
一類別factory-BC-1實作factory-BC,覆寫方法,初始化B-1與C-1,返回B-1與C-1
一類別factory-BC-2實作factory-BC,覆寫方法,初始化B-2與C-2,返回B-2與C-2
2019年1月17日 星期四
策略模式(Strategy Pattern) vs 狀態模式(State Pattern)
策略模式與狀態模式的差異點在於“改變方法實際行為的時機”。
策略模式在實際執行之前,就已經決定好方法的實際行為。
狀態模式在執行的過程中,可以根據目前的狀態決定方法的實際執行為為何。
策略模式在實際執行之前,就已經決定好方法的實際行為。
狀態模式在執行的過程中,可以根據目前的狀態決定方法的實際執行為為何。
設計模式
- 前言
- 設計模式有很多種,每種模式都是為了解決某種情境或問題而誕生。
- 工廠模式(Factory Pattern)
- 未完成-策略模式(Strategy Pattern)
- 未完成-狀態模式(State Pattern)
- 探討
- 在看完以上各個模式的內容之後,接下來會探討模式之間的差異點。
訂閱:
文章 (Atom)