简单工厂和工厂方法的区别是什么

来源:百度知道 编辑:UC知道 时间:2024/05/22 09:07:43

自己管理自己--简单工厂;
通过一个顶级工厂接口或抽象类(一般为接口),管理具体工厂类--工厂方法;

简单工厂不需要顶级类型,自己构造自己,通常为拥有一个私有构造方法和一个能够向外界提供自己实例的静态方法.单例模式和多例模式都是简单工厂的特例.

工厂方法,拥有一个顶级工厂接口,每个具体工厂管理自己的产品,通过顶级工厂借口向外界提供工厂的实例.工厂方法使用时应该注意,工厂的继承结构要与产品的继承结构相同.

最主要区别就是 简单工厂 在工厂中生成对象
工厂方法不在工厂中生成对象 并且 具体工厂 对应 具体产品 避免了简单工厂中一个工厂生产多种产品 如果数量大 种类多 工厂方法优势明显

设计模式做为程序员的“内功心法”,越来越受到.net 社区的重视,这种变化是很可喜的,Java社区走在了我们的前面,但这种状况 也许有一天会发生改变。

从追MM谈Java的23种设计模式

1、FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯 德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory.

工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点 是当产品修改时,工厂类也要做相应的修改。如:如何创建及如何向客户端提供。

程序代码

以下是引用片段:

以下是引用片段:
public class Factory{
public String Boy = "boy" ;
public String Girl = "girl" ;
public People getPeople (String people){
if (people.equals("boy")){
return new Bo