设计模式(四)、工厂模式之工厂方法
工厂方法模式简介
工厂方法模式是指定义一个创建产品对象的接口,将实际创建工作推迟到子类中,工厂类不再负责产品的创建,只负责工厂子类必须实现的接口。
工厂方法模式是简单工厂模式的一个衍生。
工厂方法模式核心角色:抽象工厂、具体工厂、抽象产品、具体产品
工厂方法模式举例
创建产品接口类
public interface Shape
{
/**
* 计算图形周长
*
* [@return](http://my.oschina.net/u/556800)
*/
double getCgircumference();
}
创建产品实现类
public class Cricle implements Shape
{
public double getCgircumference()
{
return 123;
}
}
public class Square implements Shape
{
public double getCgircumference()
{
return 456;
}
}
创建工厂接口类
public interface ShapeFactory
{
Shape getShape();
}
创建工厂实现类
public class CircleFactory implements ShapeFactory
{
public Shape getShape()
{
return new Circle();
}
}
public class SquareFactory implements ShapeFactory
{
public Shape getShape()
{
return new Square();
}
}
测试类
public class FactoryMethodTest
{
public static void main(String[] args)
{
ShapeFactory factory = new CircleFactory();
Shape shape = factory.getShape();
System.out.println(shape.getCgircumference());
factory = new SquareFactory();
shape = factory.getShape();
System.out.println(shape.getCgircumference());
}
}
运行结果: 123.0 456.0