设计模式(一)工厂模式、抽象工厂模式区别

工厂模式:定义一个用于创建对象的接口,让子类决定实现哪个具体接口,是一个类的延迟到其子类
在这里插入图片描述
如果想创建某个对象,只知道某个产品的名字通过 **ShapeFactory.getShape(“产品名字”)**返回的是该名字的对象,即可创建对象

优点:1、如果想创建新的对象,创建者只知道其名称就行。扩展性高,如果想增加一个产品,只增加一个产品类工厂就行
缺点:1、每次增加一个新的产品,都需要增加新的具体类和新的对象工厂,导致系统中类的个数成倍德增加,同时也增加了系统具体类的依赖。这并不是什么好事。

抽象工厂模式:提供一个创建一系列相关或者相互依赖的接口,而无需指定他们具体的类
在这里插入图片描述
1、在抽象工厂中增加一个工厂时如CarFactory时,应该继承AbstractFactory类,并且让还应该创建一个车类Car接口,让轿车、公交车实体类分别继承Car接口。如果我想创建轿车对象,应该调用Producer.getFactory(“名字”)返回一个继承抽象工厂的CarFactory对象,

当产品只有一个的时候,抽象工厂模式就变成工厂模式,当产品有多个的时候,厂模式就变成抽象工厂模式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值