【设计模式】—工厂三兄弟

今天主要总结一下工厂三兄弟即:简单工厂模式、工厂方法模式、抽象工厂模式,看的多了之后有点乱,所以需要及时总结。

简单工厂模式

简单工厂:定义一个用于生产对象的类,封装生产不同的产品实例的细节,使创建对象的逻辑和客户端分离,客户端只需向这个类发起请求即可获得对应的产品实例,而无需关心对象的创建过程。

简单工厂模式主要由三个角色构成:工厂类、抽象产品类、具体产品类

优点:封装对象的创建过程,使创建对象的逻辑和客户端分离

缺点:不符合开放-封闭原则

简单工厂模式——UML类图

工厂方法模式

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

工厂方法模式主要由四个角色构成:抽象工厂类、具体工厂类、抽象产品类、具体产品类

优点:单一职责原则,每一个具体的工厂类只负责一种具体的产品

缺点:添加新的产品类时,还要添加对应的工厂类。

工厂方法模式——UML类图

抽象工厂模式

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

抽象工厂模式主要由四个角色构成:抽象工厂类、具体工厂类、抽象产品类、具体产品类

优点:易于在不同的产品簇之间切换,要想切换不同的产品簇,只需要切换具体工厂

缺点:扩充产品的繁琐

抽象工厂模式——UML类图

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值