简单工厂模式属于创建型模式
创建型模式 : 对类的具体实例化细节进行封装,能够将软件模块中对象的创建和使用分离开来,从而降低系统的耦合度,方便软件后期的扩展与修改。
简单工厂模式的定义:定义一个工厂类,根据传入参数的不同来对不同的产品类进行实例化。被创建的产品类通常具有共同的父类。
使用了创建型的设计模式有以下:
简单工厂模式
设计模块通常如下几部分:
1、抽象产品类(或者接口):通常为将具体产品类公共的代码进行抽象和提取后封装在一个抽象产品类中(产品类中提取出来公共业务方法)
2、具体产品类:创建不同的产品
3、工厂类:根据传入的产品参数的不同,来实例化对应的产品类
看下面的例子:
使用简单工厂模式设计一个可以创建不同几何形状(Shape),如圆形、矩形和三角形等的绘图工具类
package SimpleFactoryTest;
//抽象产品类代码
//所有产品类的公共业务方法
interface shapeInterface{
public void createShape();
}
//具体产品
class CircleShape implements shapeInterface
{
@Override
public void createShape() {
System.out.println("圆形创建成功!");
}
}
class RectangleShape implements shapeInterface
{
@Override
public void createShape() {
// TODO Auto-generated method stub
System.out.println("长方形创建成功");
}
}
class TriangleShape implements shapeInterface
{
@Override
public void createShape() {
// TODO Auto-generated method stub
System.out.println("三角形创建陈功");
}
}
//工厂
class factory{
public static shapeInterface shape(String s) //静态工厂方法
{
if(s.equals("Recangle"))
return new RectangleShape();
else if(s.equals("Circle"))
return new CircleShape();
else if(s.equals("Triangle"))
return new TriangleShape();
return null;
}
}
public class simpeFactoryModel {
public static void main(String[] args)
{
factory.shape("Circle").createShape();
}
}