What
提供创建对象的接口
将创建工作转移到工厂中。
假设有一个接口Shape
,这个接口又有很多实现类Circle
,Square
。。。
如果要获取一个Shape
可能会
Shape Circle = new Circle();
Shape Square = new Square();
工厂模式呢?
就是一个专门生成Shape的工厂,可以按照要求返回需要的具体Shape
public ShapeFactory()
{
public static Shape getShape(String shapeName)
{
if(shapeName.equals(Circle)
return new Circle();
....
}
}
当我们需要一个Circle时就可以
Shape Circle = ShapeFactory.getShape("Circle");
减少了new
的次数。