简单工厂模式
简单工厂模式是类的创建模式,又叫静态工厂方法模式,它由一个工厂对象决定创建出哪一种产品类的实例。工厂模式专门负责将大量有共同接口的类实例化,可以动态决定将哪一个类实例化,不必事先知道每次要实例化的是哪一个类
简单工厂模式的核心是工厂类,它含有必要的判断逻辑,可以决定在什么时候创建哪一个产品类的实例。简单工厂模式一般只有一个工厂方法,如下图的
Factory
类的
factory()
方法。
例:
public
class
Factory{
public
Factory(){}
public
static
art factory(String art){
if
(art.equals(“圆形”))
return
new
Round();
else
if
(art.equals(“方形”))
return
new
Square();
else
if
(art.equals(“三角形”))
return
new
Triangle();
else
throw new Exception("不能创建这样的对象");
}
}
public
interface
Art{
public
void
draw();
public
void
erase();
}
public
class
Round
implements
Art{
public
void
draw(){
System.out.println(“画一个圆形”);
}
public
void
erase(){
System.out.println(“删除一个圆形”);
}
}
public
class
Square
implements
Art{
public
void
draw(){
System.out.println(“画一个方形”);
}
public
void
erase(){
System.out.println(“删除一个方形”);
}
}
public
class
Triangle
implements
Art{
public
void
draw(){
System.out.println(“画一个三角形”);
}
public
void
erase(){
System.out.println(“删除一个三角形”);
}
}
public
class
Main{
public
static
void
main(String[] args){
Art art
=
Factory.factory(“圆形”);
art.draw();
}
}
三种角色:
工厂类角色:是简单工厂方法模式的核心,含有与应用紧密联系的逻辑。
抽象产品
具体产品