典型的介面和實現類如下,我們要根據相應的需求建立出不同的物件。
public
inte***ce
animal
public
class
catimplements
animal
}public
class
dogimplements
animal
}
public
class animalfactory else
if (animal.equals("cat"))
return
null;
}}public
class client
}
簡單工廠其實就是:傳入乙個物件的標識,然後根據標識建立物件。這個方法實現簡單,但是如果再新增乙個bird類,需要建立bird物件的話則需改動animalfactory方法。
public
inte***ce
factory
public
class
catfactory
implements
factory
}public
class
dogfactory
implements
factory
}public
class
client
}
工廠方法如上,即使當需要新增乙個bird時,同時建立birdfactory即可在客戶端中使用,而不用改動到其它**。
這個設計到乙個產品族的概念,cat,dog是分為不同家的。我要麼統一買a家的cat,dog,要麼統一買b家的。
public
inte***ce
animal
//a家產品
public
class
cata
implements
animal
}public
class
doga
implements
animal
}//b家產品
public
class
catb
implements
animal
}public
class
dogb
implements
animal
}
public
inte***ce
factory
public
class
factorya
implements
factory
public animal createdog()
}public
class
factoryb
implements
factory
public animal createdog()
}
public
class client
}
抽象工廠如上,建立乙個a工廠,從a工廠生產出來的都是a家的產品,避免了產品建立之間的混亂。 設計模式 簡單工廠 工廠方法 抽象工廠方法模式
簡介 工廠方法模式分為 簡單工廠模式 工廠方法模式 抽象工廠方法模式 簡單工廠模式是屬於建立型模式,又叫做靜態工廠方法 static factory method 模式,但不屬於23種gof設計模式之一。簡單工廠模式是由乙個工廠物件決定建立出哪一種產品類的實 uml圖示例 public class ...
設計模式 簡單工廠 工廠方法 抽象工廠
引言 最近發現一篇講解工廠模式比較簡易明了的文章,內容如下,原文連線為 簡單工廠模式 簡單工廠模式不是 23 種裡的一種,簡而言之,就是有乙個專門生產某個產品的類。比如下圖中的滑鼠工廠,專業生產滑鼠,給引數 0,生產戴爾滑鼠,給引數 1,生產惠普滑鼠。工廠模式也就是滑鼠工廠是個父類,有生產滑鼠這個介...
設計模式 簡單工廠 工廠方法 抽象工廠模式
一 什麼是工廠模式?工廠模式有一種非常形象的描述,建立物件的類就如乙個工廠,而需要被建立的物件就是乙個個產品 在工廠中加工產品,使用產品的人,不用在乎產品是如何生產出來的。從軟體開發的角度來說,這樣就有效的降低了模組之間的耦合。對於工廠模式,具體上可以分為三類 1.簡單工廠模式 2.工廠方法模式 3...