创建型模式之简单工厂

1、什么是简单工厂

	简单工厂模式是在创建一个对象时不向客户暴露内部细节,并提供一个创建对象的通用接口。
	
	Tips:简单工厂属于创建型设计模式,但是不属于二十三种设计模式。

2、简单工厂的代码实现

	public class SimpleFactory {
	
	    public Product createProduct(int type) {
	        if (type == 1) {
	            return new ConcreteProduct1();
	        } else if (type == 2) {
	            return new ConcreteProduct2();
	        }
	        return new ConcreteProduct();
	    }
	}


	public class Client {
	
	    public static void main(String[] args) {
	        SimpleFactory simpleFactory = new SimpleFactory();
	        Product product = simpleFactory.createProduct(1);
	        // do something with the product
	    }
	}

3、简单工厂的优缺点

特点:

  • 工厂类包含必要的逻辑判断来选择生产具体产品
  • 用于生产单个产品

优点:

  • 让简单工厂类来决定应该用哪个具体产品类来实例化,实现了对象的创建和使用的分离实现解耦
  • 在不修改任何客户端代码的情况下更换和增加新的具体产品类,在一定程度上提高了系统的灵活性

缺点:

  • 添加新产品类需要修改工厂类,违背开闭原则
  • 工厂类的职责过重,简单工厂中包含很多的逻辑判断语句,它一旦有问题,整个系统都要出问题
  • 简单工厂的静态方法,使得工厂角色无法形成基于继承的实现(失去了多态
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值