JAVA学习小结(四)工厂模式区别

工厂模式:将类的实例化放在另一个类中实现,屏蔽了类实例化的细节。

以生产汽车车门为例。

简单工厂模式:将所有车门产品放在同一个工厂生产。不能增加新的车门,否则要修改原工厂代码


工厂方法模式:定义一个工厂接口,用子工厂去生产产品,4个车门产品用4个子工厂去生产,可以任意增加新的车门,只要定义新的子工厂和子产品。


抽象工厂模式:引入了产品族的概念(由同一子工程生产的不同类型的实例为不同的产品族),将不同的产品族放在一个子工厂中生产,并且产品族之间存在约束。前右车门,后右车门是一个类型,可以看做一个产品族,前左车门和后左车门一样看做一个产品族。定义两个子工厂,工厂前和工厂后。工厂前生产前右,前左车门,工厂后生产后左后右两个车门。可以看出有一个前左车门就必须有一个前右车门,它们之间存在约束。这就是抽象工厂模式。抽象工厂模式不可以增加新产品但是可以增加产品线,例如三门车,可以新定义一个子中工厂和子中右车门和子中左车门类就可以了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值