设计模式之《工厂模式》

定义使用专门负责创建对象的Factory类来创建新对象的设计模式可以细分为简单工厂、工厂方法、抽象工厂三种模式使用场景不同的工厂模式适合不同的使用场景简单工厂模式适合创建对象的逻辑比较简单的情况工厂方法模式适合对象的创建逻辑较复杂,需要为工厂进行再次分类的情况,可以理解为“再抽象一个创建工厂的方法”,或者“抽象一个工厂的工厂”抽象工厂模式适合一个工厂创建的是一组相互之间有关联对象,而不是单个对象的情况。例如门锁工厂,负责创建的锁和钥匙是一套的,这个时候就需要用到抽象工厂模式实现方式简单
摘要由CSDN通过智能技术生成
定义

定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类

可以细分为简单工厂、工厂方法、抽象工厂三种模式

使用场景

不同的工厂模式适合不同的使用场景

  • 简单工厂模式适合创建对象的逻辑比较简单的情况
  • 工厂方法模式适合对象的创建逻辑较复杂,需要为工厂进行再次分类的情况,可以理解为“再抽象一个创建工厂的方法”,或者“抽象一个工厂的工厂”
  • 抽象工厂模式适合一个工厂创建的是一组相互之间有关联对象,而不是单个对象的情况。例如门锁工厂,负责创建的锁和钥匙是一套的,这个时候就需要用到抽象工厂模式
实现方式
简单工厂模式

示例伪代码:

public class ItemFactory{
    public static Item createItem(String type){
    	if("A".equals(type)){
			return new AItem();
		} else if("B".equals(type)){
			return new BItem();
		} else  ......
    }
}
工厂方法模式
public interface ItemFactory{
  Item createItem();
}
//这段伪代码用的是单例工厂,实际情况根据需要进行改动
public class ItemFactoryMap{
    private static final Map<String,ItemFactory> itemFac
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值