设计模式思想工厂模式

工厂模式 分为

简单工厂模式

工厂方法模式

抽象工厂模式


简单工厂模式什么样的呢?

用户A需要A产品,用户B需要B产品,直接找工厂要就行了。当然需要A产品类,B产品类,然后工厂根据用户需要的类型 ,给予构造相应的产品。

那么factory类中 ,就需要包含构建A类的成员函数,构造B类的成员函数。只要根据用户需求类型返回就行了。


但是如果用户C需要C 产品怎么办呢,这是 简单工厂模式 就需要修改工厂类,这就违反了开放封闭原则,开放是继承可以,封闭则是对类修改不行。


怎么办呢?


为了解决这个问题 出现了工厂方法模式。

为了不修改类,显然只有采用继承的方法,我可以有很多类来产生多个对象,但不能通过对一个类的修改来产生多个对象


因此可以定义一个工厂的抽象类。针对不同的产品定义一个对应产品的工厂。

这样 就把判断定义A产品还是B产品的任务 ,有工厂类,转移到了用户那里。


但是如果我此时需要的是 A和B产品呢?

那么就需要抽象工厂模式

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



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值