設計模式 簡單工廠模式 Factory

2021-09-03 06:40:31 字數 1279 閱讀 4862

概念:工廠模式是我們最常用的例項化物件模式了,是用工廠方法代替new操作的一種模式,它提供了一種建立物件的最佳方式。

優劣:優點:呼叫物件時只需要知道對應物件引數就可以建立;擴充套件性高;面向介面程式設計,遮蔽物件的具體實現。

缺點:每次增加乙個產品,都需要增加乙個具體產品類和對應的工廠呼叫分支,增加了複雜度和具體類的依賴。

使用場景:日誌記錄器,日誌分類、日誌記錄位置都可以通過工廠模式控制;資料庫訪問,資料庫有可能發生變化時,採用工廠模式控制資料庫連線;

何時使用:明確不同條件下建立不同的例項時。

類示意圖

示例:定義圖形總介面

package test.factory1;

/** * 圖形介面

* @author sunlh

* */

public inte***ce shape

定義圖形實體類,圓形和方形物件

package test.factory1;

public class circleshape implements shape

}

package test.factory1;

public class squareshape implements shape

}

定義圖形工廠,工廠內有建立不同圖形的方法

package test.factory1;

/** * 圖形工廠

* 定義乙個建立圖形方法

* @author sunlh

* */

public class shapefactory

if (shapetype.equalsignorecase("circle")) else if (shapetype.equalsignorecase("square"))

return null; }

}

package test.factory1;

/** * 測試

* @author sunlh

* */

public class test

}

測試結果:

建立乙個圓形圖形物件

建立乙個方形圖形物件

設計模式 工廠模式(簡單工廠)

一 簡單工廠 定義 簡單工廠模式 factory pattern 屬於類的創新型模式,又叫靜態工廠方法模式 static factorymethod pattern 是通過專門定義乙個類來負責建立其他類的例項,被建立的例項通常都具有共同的父類。特點 工廠類直接實現,乙個產品介面,乙個工廠類可以產生多...

設計模式(簡單工廠模式 工廠模式 抽象工廠模式)

當邏輯較為簡單時,可以直接建立對應的類。如下 include using namespace std class class banana class pear intmain 通過此 可以發現,使用者直接與客戶接觸,違背了dip 依賴倒轉 原則,過於麻煩,所以引出簡單工廠模式。include us...

設計模式 簡單工廠設計模式

請用任意一種物件導向語言實現計算器控制台程式,要求輸入兩個數和運算符號,得到結果。operation運算類 public class operation set public double numberb set public virtual double getresult 加減乘除類 using...