工厂模式与抽象工厂的比较

工厂模式:定义一个用于创建对象的接口,让子类觉得实例化哪一个类。Factory Method使一个类的实例化延迟到了子类。

抽象工厂类:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。

二者的区别:
    工厂模式:可以选择实例化具体的哪一个类,而且工厂类创建实例有很大的自由度,可以自由选择组合和基础已有的工        厂类和产品类。
    抽象工厂:可以理解为工厂模式的一个特例。将所有的接口都定义好,一次性将所有的产品都实例化。
二者的联系:
    二者本质上都是将产品的类似实例化过程通过一个类进行统一管理。抽象工厂是将所有需要的接口都定义好,有不同的子类去分别实现,而工厂类只提供了一个创建接口,具体的实例化过程可以有子类自由选择。
    抽象工厂和工厂类也不是严格区分的,可以根据具体情况,将不需要实现的接口放到抽象工厂的接口基类中,而在子类的实现中可以采用工厂类的方法,通过组合、继承的方法尽可能多的合理利用已存在的产品类。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值