【设计模式】【创建型】简单工厂模式

举报
huahua.Dr 发表于 2021/06/10 09:49:17 2021/06/10
【摘要】 一、简单工厂模式特点:APP用户只需了解inteface接口和factory类,1.interface工厂父接口:让你知道,产品实例(implement类)可以使用那些方法和访问那些属性,你接下来所创建的产品实例(implement类)都是interface类型2.factory工厂类:让你知道,你想要创建那些产品实例(implement类),直接通过调用factory提供的方法并传递正确参...

一、简单工厂模式

严格来说不算设计模式,但在JDK类库中也使用到这种模式。

特点:

客户端client只需了解Interface-product产品接口和factory工厂类,

1.Interface-product产品接口:让你知道,可以使用那些方法和访问那些属性,你接下来所创建的实例都是Interface-product类型

2.factory工厂类:让你知道,你想要创建那些实例,直接通过调用factory提供的方法并传递正确参数即可得到类型为interface的产品类实例(implement类),注意创建这些实例是在factory工厂类中完成。

3.简单来说就是屏蔽了具体类的实例化过程,达到封装性,让用户与实现类解耦,限制用户只能面向接口编程。

缺点:

1.如果增加产品类implement,需要改动factory工厂类的方法代码,违反了开闭原则

2.需要通过传递参数给factory类来表明需要实例化那个具体子类,增加了参数的复杂度

使用场景:

1.需要factory工厂类创建的产品实例对象比较少的情况,最好是提前确定存在哪些产品实例对象,这样factory工厂类的方法中的业务逻辑不会太复杂。

2.客户端不关心产品实例具体创建过程,只需要知道创建产品实例所对应的参数即可。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。