简单工厂模式

简单工厂模式属于创建型模式
创建型模式 : 对类的具体实例化细节进行封装,能够将软件模块中对象的创建和使用分离开来,从而降低系统的耦合度,方便软件后期的扩展与修改。

简单工厂模式的定义:定义一个工厂类,根据传入参数的不同来对不同的产品类进行实例化。被创建的产品类通常具有共同的父类。



使用了创建型的设计模式有以下:

这里写图片描述

简单工厂模式
设计模块通常如下几部分:
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();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值