简单工厂模式、工厂方法模式、抽象工厂模式

涉及代码地址:https://gitee.com/w1402943677/Factory
涉及代码地址:https://gitee.com/w1402943677/Factory

一、简单工厂模式、工厂模式、抽象工厂模式的区别

简单工厂模式:① 一个抽象产品类,可以派生出多个具体产品类。
       ② 一个具体工厂类。
       ③ 这个具体工厂类能选择创建一个具体产品类的实例。
工厂方法模式:① 一个抽象产品类,可以派生出多个具体产品类。
       ② 一个抽象工厂类,可以派生出多个具体工厂类。
       ③ 每个具体工厂类只能创建一个具体产品类的实例。
抽象工厂模式:① 多个抽象产品类,每个抽象产品类可以派生出多个具体产品类。
       ② 一个抽象工厂类,可以派生出多个具体工厂类。
       ③ 每个具体工厂类可以创建多个具体产品类的实例。

二、简单工厂模式

在这里插入图片描述
定义:由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承自一个父类或接口)的实例。
在这里插入图片描述
在这里插入图片描述

三、工厂方法模式

注意:工厂方法和简单工厂相比,当需要增加产品类时,工厂方法只需要增加抽象工厂实现即可,而简单工厂需要修改工厂中的case语句,这违背了开放-封闭原则
在这里插入图片描述
定义:定义一个用于创建对象的接口,让子类决定实列化哪个类。工厂方法使一个类的实例化延迟到其子类
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、抽象工厂模式
在这里插入图片描述
定义:提供一个创建一系列相关或相互依赖对象的接口,而无需指定他们具体的类。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值