針對問題:當要建立的產品種類很多,並且會隨著時間的推移會不斷改變時。可以將這些變化的部分抽離出來作為乙個繼承結構,運用多型的動態性來替換本來的改變。
工廠方法模式結構圖:
工廠方法實現**:
/**
* 產品介面
* @author bruce
* */
public abstract class product
/** * 建立者介面
* @author bruce
* */
public abstract class creator
/** * 產品1
* @author bruce
* */
public class concreteproduct1 extends product
}/**
* 產品2
* @author bruce
* */
public class concreteproduct2 extends product
}/**
* 建立類1
* @author bruce
* */
public class concretecreator1 extends creator
}/**
* 建立類2
* @author bruce
* */
public class concretecreator2 extends creator
}/**
* 測試
* @author bruce
*/public class client
}
Design Pattern 工廠模式
當有一些要例項化的具體類,究竟例項化哪個類,要在執行時由一些條件來決定。當 使用大量具體類時,我們就要考慮使用工廠模式了。定義了乙個建立物件的介面,但由子類決定要例項化的類是哪乙個。工廠方法讓類把例項化推遲到子類。public abstract class pizzastore protected ...
Design Pattern 簡單工廠模式
1 為什麼要使用工廠模式?首先先看看不使用工廠模式的 class myapi class a public myapi class b public myapi void clientfunc 在物件導向程式設計裡面,非常講究層的劃分和模組的劃分。通常按照三層來劃分程式,分別是表現層 邏輯層和資料層...
Design Pattern之工廠方法模式
在本文之前,已經介紹過簡單工廠模式,簡單工廠模式只有乙個工廠,該工廠負責產生所有的運算類,如果增加乙個運算類,不僅需要修改工廠類,還需要修改客戶端類,這違反了設計模式所提倡的開放 封閉原則。本文所說的工廠方法模式就是在之前的簡單工廠模式前提下增加了各種運算方法的工廠類,uml圖如下 相比較簡單工廠模...