簡單工廠模式學習筆記

2021-05-28 08:30:40 字數 982 閱讀 7410

最近開始看點設計模式,由於我這人腦袋有點笨所以簡單工廠模式也是看了幾遍才慢慢領悟點意思出來。所以在這裡記錄下來好日後翻閱。

簡單工廠模式又叫做靜態工廠方法(staticfactory method)模式,簡單的來說就是利用乙個工廠類來操作處理返回例項化物件。這個工廠就像乙個小工廠一樣來生產會產品。

下面是簡單工廠模式的uml圖:

從上圖可以看出類product_a 和類product_b都繼承自基類iproduct並實現基類裡的方法(實現出來的這個方法當然是不一樣的)。而工廠類creator的作用就是根據請求的不一樣返回不一樣的產品類例項化物件,及返回product_a或product_b的乙個例項化物件。

下面是我自己寫的乙個簡單的計算器demo

1.先建立乙個計算的基類,寫了乙個虛方法便於子類重寫這個方法。

public class operation

set

}public double numa

set

}public virtual double getresult()

}

2.建立具體的加減乘除的計算類(都繼承自基類opreation)並重寫父類方法getresult(),一下就只給出加法的類

public class operationadd:operation

}

3.建立工廠類用來例項化不同的物件

public class operationfactory

return op;}}

4.然後就是呼叫了,呼叫的時候很方便

class program

}

這樣乙個簡單的簡單工廠模式就實現了。

簡單工廠設計模式也是有缺點的。因為簡單工廠模式將例項化物件的所有邏輯都放在乙個工廠類裡面,如果要新增乙個實現類就得去修改工廠類,所以簡單工廠模式跟高內聚原則是相悖的,

設計模式 簡單工廠模式(學習筆記)

簡單工廠事實上不是乙個設計模式,比較像一種程式設計習慣!首先看一下 從 中理解這個程式設計習慣。舉個做披薩的樣例 pizza類 public inte ce pizza詳細的披薩cheesepizza public class cheesepizza implements pizza overrid...

設計模式 學習筆記 簡單工廠模式

從接觸程式設計到現在已經很久了,從最早的面向過程到物件導向,後來演算法的學習,但是一直沒有接觸設計模式。前幾周,我申請的 大話設計模式 採購下來了,剛好藉著這個讀書的機會,把自己的學習筆記記錄下來,希望以後自己寫專案的時候可以應用到這些模式思想。1 運算的基類,所有的運算都必須繼承自這個類 基類,所...

設計模式學習筆記 簡單工廠模式

背景 簡單工廠模式是很多程式設計師學習的第乙個設計模式,因為其不但原理簡單而且易於上手,在日常工作的 中也常有體現。今天分享乙個基於實現 加 減 乘 除 計算器的需求基於簡單工廠模式來實現。錯誤示範 在學習簡單工廠模式之前,遇到這種需求我是這樣實現的 public static double cal...