簡單工廠模式就是由一個工廠類根據參數來決定創立出那一種產品類的實例。下面的UML類圖就精確定義了簡單工廠模式的結構。

例如:

代碼:
package com.javapatterns.simplefactory.exercise;
public class ArtTracer
{
public Shape factory(String which) throws BadShapeException
{
if (which.equalsIgnoreCase("circle"))
{
return new Circle();
}
else if (which.equalsIgnoreCase("square"))
{
return new Square();
}
else if (which.equalsIgnoreCase("triangle"))
{
return new Triangle();
}
else
{
throw new BadShapeException(which);
}
}
}
package com.javapatterns.simplefactory.exercise;
public interface Shape
{
void draw();
void erase();
}
package com.javapatterns.simplefactory.exercise;
public class Square implements Shape
{
public void draw()
{
System.out.println("Square.draw()");
}
public void erase()
{
System.out.println("Square.erase()");
}
}
package com.javapatterns.simplefactory.exercise;
public class BadShapeException extends Exception
{
public BadShapeException(String msg)
{
super(msg);
}
}
描圖員(Art Tracer)系統使用方法如下
try
{
ArtTracer art = new ArtTracer();
art.factory("circle");
art.factory("square");
art.factory("triangle");
art.factory("diamond");
}
catch(BadShapeException e)
{
...
}
2。工廠模式
3。抽象工廠模式