简单工厂模式-摘自《java与模式》

简单工厂模式是类得创建模式,又叫静态工厂方法(Static Factory Method)模式。简单工厂模式是由一个工厂对象决定创建出哪一种产品类得实例。

工厂模式的几种形态



书中的例子是以水果为例,Fruit是接口,Apple/grape/strawberry是具体实现类;园丁FruitGardner是工厂,根据客户指定的种类生成具体的Fruit实现,返回的是Fruit类型

简单工厂模式就是由一个工厂类根据传入的参量决定创建哪一种产品的实例。

抽象产品角色的主要目的是给所有的具体产品类提供一个共同的类型,在最简单的情况下,可以简化为一个标识接口,即没有声明任何方法的空接口。


单例模式使用了简单工厂模式。即单例类具有一个静态工厂方法提供自身的实例,一个抽象产品类同时是子类的工厂。但是单例模式不是简单工厂模式的退化情形,单例模式要求单例类得构造函数是私有的,从而客户端不能直接将之实例化,而必须通过这个静态工厂方法将之实例化,而且单例类自身是自己的工厂角色,即单例类自己负责创建自身的实例。


猜你喜欢

转载自xuzhike.iteye.com/blog/1064014