简单工厂设计模式

目录

  • 简介
  • 包含角色
  • uml类图
  • java实现
  • 优点和缺点

1. 简介

又称静态工厂方法模式,是不同的工厂方法模式的一个特殊实现。简单工厂模式就是由一个工厂类根据传入的参量决定创建出哪一种产品类的实例


2. 包含角色:

2.1 工厂角色:

担任这个角色的是工厂方法模式的核心,含有与应用紧密相关的商业逻辑。工厂类在客户端的直接调用下创建产品对象,它往往由一个具体Java类实现。

2.2 抽象产品角色:

担任这个角色的类是由工厂方法模式所创建的对象的父类,或它们共同拥有的接口。抽象产品角色可以用一个Java接口或者Java抽象类实现

2.3具体产品角色:

工厂方法模式所创建的任何对象都是这个角色的实例,具体产品角色由一个具体Java类实现。

3. uml类图

uml类图

4. java实现

4.1 抽象产品角色

/**
 * @program: pattern
 * @description: 抽象产品角色
 * @author: chengqj
 * @create: 2018-08-06 09:08
 **/
public interface Fruit {
    void grow();
}

4.2 具体产品角色

/**
 * @program: pattern
 * @description: 工厂角色
 * @author: chengqj
 * @create: 2018-08-06 09:09
 **/
public class FruitFactory {
    public static Fruit createFruit(){
        return new AppleFruit();
    }
}

4.3 工厂角色

/**
 * @program: pattern
 * @description: 工厂角色
 * @author: chengqj
 * @create: 2018-08-06 09:09
 **/
public class FruitFactory {
    public static Fruit createFruit(){
        return new AppleFruit();
    }
}

4.4 测试

public static void main(String[] args) {
    FruitFactory.createFruit().grow();
}

5. 优点和缺点

5.1 优点:

客户端需要的什么产品,可以直接得到,逻辑判断在工厂里面

5.2 缺点:

扩展性一般,产品都是一个产品族下面的产品,对于不在产品族中的产品,没办法去扩展,另外获得具体某种产品的逻辑放在工厂里面,新添加产品的时候就需要修改工厂里面的代码。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值