几种工厂模式对比

简单工厂模式:

简单工厂模式:定义一个工厂类,它可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类。因为在简单工厂模式中用于创建实例的方法是静态方法,因此简单工厂模式又被成为静态工厂方法模式,它属于类创建类模式。

简单工厂模式的要点在于:当你需要什么,只需要传入一个正确的参数,就可以获取你所需要的对象,而无须知道其创建细节。

简单工厂模式的缺点是:
1. 工厂类过于庞大,包含了大量的if…else代码,导致为何和测试的难度增大。
2. 系统扩展不灵活,如果增加新类型的产品,必须修改静态工厂方法的业务逻辑,违反了开闭原则。

工厂方法模式:

因为简单工厂模式的缺点,所以引入工厂方法模式来解决这个问题

工厂方法模式:定义一个用于创建对象的接口,让子类决定将哪个类实例化。工厂方法模式让一个类的实例化延迟到其子类。

在工厂方法模式中,不再提供一个统一的工厂类来创建所有的产品对象,而且针对不同的产品提供不同的工厂,系统提供一个与产品等级结构对应的工厂等级结构。

抽象工厂模式:

抽象工厂模式和工厂方法模式最大的区别是,工厂方法针对的是产品等级,而抽象工厂创建的是产品族。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值