C#设计模式02-抽象工厂模式(附源码)

        抽象工厂模式是所有工厂模式中最为抽象的模式,是抽象程度最高的模式,也是最难理解的一种工厂模式。

        现在举一个生活中的案例来说明抽象工厂模式,电视是我们生活中必不可说的电器,但是电视有很多厂家,海尔工厂,海信工厂,美的工厂他们都生产自己的电视(海尔电视,海信电视,美的电视)。再有冰箱,这三个厂家又可以生产自己的冰箱(海尔冰箱,海信冰箱,美的冰箱)。等等......在抽象工厂模式中,海尔电视,海尔冰箱,海尔空调等组成的就是一个产品族。海尔电视,海信电视,美的电视等都是电视。所以他们可以抽象出一个共同的父类:电视类。在这里,抽象电视类和它的三个子类就构成了一个产品等级结构,同理抽象冰箱类和它的三个子类构成了另外一个产品等级结构。同时海尔工厂,海信工厂,美的工厂也可以抽象出一个共同的父类:工厂。

        所以在抽象工厂模式中,包含以下四种角色:

        (1)抽象工厂(抽象工厂类):它是所有具体工厂的父类,声明了创建一个产品族的方法,并由其子类去实现。抽象工厂可以声明成接口。

        (2)具体工厂(海尔工厂,海信工厂,美的工厂):它们实现了抽象工厂中声明的方法,生产出一个产品族(比如:海尔电视,海尔冰箱,海尔空调等一系列海尔产品)。

        (3)抽象产品

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值