【设计模式】【创建型】简单工厂模式
【摘要】 一、简单工厂模式特点: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)