栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JAVA 设计模式- 简单工厂和工厂方法小思考

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JAVA 设计模式- 简单工厂和工厂方法小思考

概述:

简单工厂模式:一个工厂可以创建多个产品(通过if else 来进行产品路由)

工厂方法模式:一个具体工厂只创建一个具体产品(通过多态机制进行产品路由不用修改之前工厂的内容,但是每增加一个产品都要新增工厂。

理解:

1、在工厂方法模式中进行新产品添加时需要同时增加新工厂和新产品。工厂和产品一一对应那么为什么不直接new产品?

逻辑上产品和工厂的所做的事情是不一样的,产品是一个结果,而工厂是通过逻辑生产产品,所以即便是产品和工厂一一对应,但是工厂并不能省略。因为生产产品之前需要很多操作,而这些操作需要通过工厂去实现。

2、简单工厂和工厂方法优缺点对比

简单工厂

优点:实现简单更容易理解,实际的性能开销更小。

缺点:1、所有产品的生产都在一个工厂内,多产品的生产耦合在一起随着后期产品变多工厂变的杂乱。2、后期新增产品需要再次在原有工厂中添加if else

工厂方法:

优点:1、不同产品生产逻辑放在不同的子工厂中,生产逻辑相互独立耦合性低。2、后期添加新产品只需要新增而不需要修改之前的内容

缺点:理解难度相比增大,实际性能开销更小。

项目中应用:

1、log4j2其实就是一个大工厂,通过不同的类名返回不同的logger进行日志的打印,包括我们的spring容器其实也可以理解为一个超级工厂对我们的类进行生产

2、spring项目中对象注入一个map的方式就可以理解为一个简单工厂,spring把符合这个类型的对象放入这个Map,引用名字作为Map的Key实现了一个简单工厂模式

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/872502.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号