Loading

设计模式:抽象工厂模式

一.产品等级结构 产品族

 

图中有正方形和圆形,相同颜色代表一个产品族,相同形状代表一个同一个产品等级结构。

例如美的电器生产多种家用电器,那么深红色正方形代表美的空调,深红色圆形代表美的洗衣机,但是同一个纵坐标,都是美的产品。

同理粉红色正方形代表格力空调,粉红色圆形代表隔离洗衣机,同一个横坐标都是同一个产品等级结构,都是空调或者洗衣机。

二.抽象工厂模式

该模式适用于需要生成产品族的场景,抽象产品内部提供了多个其他抽象产品,抽象工厂类定义了产品的创建接口,通过具体的工厂子类,就可以生产相应的产品族对象,供用户端使用。

三.通用写法

产品类

 工厂:

 测试:

 

四.uml图

五.抽象工厂在spring中的运用

在Spring种,所有工厂都是BeanFactory的子类,通过BeanFactory的实现,我们可以从spring容器访问Bean。

 

缺点:

1.规定了所有可能被创建的产品集合,产品族种扩展新的产品困难。

2.增加了系统的抽象性和理解难度。

 

posted @   秋风飒飒吹  阅读(144)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示