工厂模式 - 2

【1】简单工厂模式:静态工厂方法模式,有工厂类角色(Creator),抽象产品角色(Product),具体角色(Concrete Product)

虚线:创建依赖和一般依赖。这样等级结构不会反映到工厂类中,这样缺点:增加新的产品将导致工厂类的修改简单工厂使用静态方法作为工厂方法,无法由子类继承

抽象产品角色由Java接口扮演,如果具体产品类中确实有共同的商业逻辑,就需要移到抽象角色里

【2】工厂方法(多态性工厂):定义一个创建产品对象的工厂接口,不再负责所有的产品的创建,将实际创建工作推迟到子类中,允许系统在不修改具体工厂角色的情况下引进新的产品。

类图


活动序列图

工厂方法模式的核心:一个抽象工厂类,允许具体工厂类继承创建行为 || 增加新的产品是,只要加入产品类以及对应的工厂类,不要修改客户端和抽象工厂角色,完全支持“开-闭”原则

简单工厂模式的核心:一个具体类

【3】抽象工厂:向客户端提供接口,使客户端不必指定产品的具体类型,创建多个产品族中的产品对象。

使用情况:系统产品多余一个产品族,系统只消费其中某一族的产品

功能:增加新的产品族;增加新的产品等级结构

例子:操作系统中,一个视窗构件组成的构建家族



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值