工厂模式的好处在哪里「推荐工厂模式优缺点、实现步骤」

小伙伴们你们好,郑国很高兴又和各位见面了,今天主要来讲讲工厂模式的好处在哪里,工厂模式优缺点、实现步骤,还有关于工厂,模式,优缺点等一系列的内容,其实这篇文章主要还是为新手朋友整理的,总的来说思路还是很重要!

工厂模式的好处在哪里,工厂模式优缺点、实现步骤,工厂,模式,优缺点

简单工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一,这种类型的设计模式属于创建型模式。

本文从一个具体的例子逐步分析,来体会简单工厂模式的应用场景和利弊@mikechen

简单工厂模式的定义

简单工厂模式(Simple Factory),又被称为”静态工厂方法模式”,它属于类创建型模式,同属于创建型模式的还有(工厂方法模式,抽象工厂模式,单例模式,建造者模式)。

用一个现实生活的例子更容易理解:生活中的工厂是负责生产产品的,同样在设计模式中,简单工厂模式我们可以理解为负责生产对象的一个类,称为“工厂类”。

简单工厂模式的结构

工厂模式的好处在哪里,工厂模式优缺点、实现步骤,工厂,模式,优缺点

1.工厂类

工厂角色负责实现创建所有实例的内部逻辑。

2.抽象产品

抽象产品角色是所创建的所有对象的父类,负责描述所有实例所共有的公共接口。

3.具体产品

具体产品角色是创建目标,所有创建的对象都充当这个角色的某个具体类的实例。

简单工厂模式的实现

主要分为三个步骤:

工厂模式的好处在哪里,工厂模式优缺点、实现步骤,工厂,模式,优缺点

1.创建抽象产品类

创建抽象产品类的作用:主要是定义具体产品的公共接口

packagecom.mikechen.java.design.factory.simple; /** * 抽象产品 * * @authormikechen */publicabstractclassProduct{ publicabstractvoidCreate(); }

2.创建具体产品类

创建具体产品类的作用:继承抽象产品类,定义生产的具体产品

packagecom.mikechen.java.design.factory.simple; /** * 描述类的作用 * * @authormikechen */publicclassConcreteProductextendsProduct{ @OverridepublicvoidCreate(){ System.out.println("生产具体的产品"); } }

3.创建工厂类

创建工厂类的作用:通过创建静态方法从而根据传入不同参数创建不同具体产品类的实例。

packagecom.mikechen.java.design.factory.simple; /** * 工厂 * * @authormikechen */publicclassFactory{ publicstaticProduct newInstance(){ returnnewConcreteProduct(); } }

这里我做了简化,实际的情况可以根据传入的具体产品参数来实现具体的产品即可。

简单工厂模式的优缺点

1. 优点

将创建实例的工作与使用实例的工作分开,使用者不必关心类对象如何创建,实现了解耦;

把初始化实例时的工作放到工厂里进行,使代码更容易维护。

2. 缺点

工厂类集中了所有实例(产品)的创建逻辑,一旦这个工厂不能正常工作,整个系统都会受到影响;

违背“开放 – 关闭原则”,一旦添加新产品就不得不修改工厂类的逻辑,这样就会造成工厂逻辑过于复杂。

简单工厂模式由于使用了静态工厂方法,静态方法不能被继承和重写,会造成工厂角色无法形成基于继承的等级结构。

简单工厂模式的应用场景

工厂模式的好处在哪里,工厂模式优缺点、实现步骤,工厂,模式,优缺点

1.客户如果只知道传入工厂类的参数,对于如何创建对象的逻辑不关心时;

2.客户端既不需要关心创建细节,甚至连类名都不需要记住,只需要知道类型所对应的参数

3.当工厂类负责创建的对象具体产品比较少时,由于创建的对象较少,不会造成工厂方法中的业务逻辑太过复杂。

简单工厂模式的总结

1.简单工厂模式包含三个角色:

工厂角色负责实现创建所有实例的内部逻辑;
抽象产品角色是所创建的所有对象的父类,负责描述所有实例所共有的公共接口;
具体产品角色是创建目标,所有创建的对象都充当这个角色的某个具体类的实例。

2.简单工厂模式最大的优点在于实现对象的创建和对象的使用分离,将对象的创建交给专门的工厂类负责,但是其最大的缺点在于工厂类不够灵活,增加新的具体产品需要修改工厂类的判断逻辑代码,而且产品较多时,工厂方法代码将会非常复杂。

3.简单工厂模式适用情况包括:工厂负责创建的对象比较少,客户端只知道传入工厂类的参数,对于如何创建对象不关心的情况。

以上就是我给各位今天分享的内容,不管如何,能帮到你我就很开心了,工厂模式的好处在哪里「推荐工厂模式优缺点、实现步骤」这篇文章让你学习到一些知识的话,那就帮忙分享给你朋友吧!

本文发布者:管理员,不代表寂寞网立场,转载请注明出处:https://www.jimowang.com/p/7698.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 jimowangmail@126.com 举报,一经查实,本站将立刻删除。

(0)
上一篇 2022年9月28日 16:11
下一篇 2022年9月28日 16:13

相关推荐

  • 吸引人的微信软文「必看:优秀软文范例100字」

    首先,钱壕森感谢你能坚持经常过来关注我!下面我就来说说吸引人的微信软文,优秀软文范例100字,还有范例,客户,产品相关的各种内容,只要你每天都能来,我就能每天整理一些不错的干货分享给你们! 笔者从事互联网运营多年,也写过各种行业的文章,个人觉得通过文章引流进来的粉丝是最精准的。可能一提到写软文,一些网络朋友就头大了,确实写文章需要一定的思路,如果脑袋里没墨,…

    2022年11月23日 自媒体
  • 卖书网站有哪些「想卖书去哪个网站卖」

    哈喽,小伙伴们大家好,今天郑江温废话就不多说了,直接上干货,标题:卖书网站有哪些,想卖书去哪个网站卖,还有关于价格,力度,节点等一系列的内容,认真阅读完,把我想表达的思路完全理解,相信你很快就可以掌握! 买书有六大网站可以选择。 买新书京东,当当,淘宝,天猫。 买旧书孔夫子旧书网,多抓鱼,闲鱼转转。 首先声明一下我说的这些不是广告,只是陈述一下我买书的经历经…

    自媒体 2022年10月12日
  • 香肠灌好了立马挂在屋里可以吗,刚灌的香肠为什么不能立刻挂出来

    大家好,今天郑景毓为大家带来了一些关于香肠灌好了立马挂在屋里可以吗,刚灌的香肠为什么不能立刻挂出来的专业知识,以及香肠,阴凉,太阳时,吸水性,肉酱相关的实用干货和最新资讯分享,这篇文章将会为初学者提供一些实用的方法和技巧,帮助你更好地理解这个领域。 香肠是生活中比较受欢迎的一种肉制品,它吃起来味道比较香,可以和很多食材搭配,很多人都喜欢吃,有些人会自己在家灌…

    2023年6月6日
  • 淘宝买家须知怎么写「最新商家必备购买须知范文」

    美好的1天将要从这里开始啦!今天笔者王琦萱来说说淘宝买家须知怎么写,最新商家必备购买须知范文,还有关于买家,须知,素材等一系列的内容,其实这篇文章主要还是为新手朋友整理的,总的来说思路还是很重要! 商家必备购买须知范文 XX品牌-追求的不是品质 自古及今:“享”为生之道,“人”为享之尊,探究生活深处,“XX品牌”亦如是。 颠覆之前,秉承“以人为本,服务于人”…

    2022年9月17日 自媒体
  • 美国摇滚女王蒂娜特纳去世,曾被《滚石》杂志称作为史上最伟大的歌手之一

    亲爱的读者们,我是本站的元老级评论员李香伶,为您分析最新的事件,近来,美国摇滚女王蒂娜特纳去世,曾被《滚石》杂志称作为史上最伟大的歌手之一引起了人们的热议和讨论,成为了网络上备受关注的话题之一。让我们一同深入探究这个事件的各个方面,看看究竟发生了什么吧! 5月25日消息,美国歌手蒂娜·特纳(Tina Turner)社交账号发布消息称:“我们非常悲痛地宣布蒂娜…

    2023年5月25日
  • 千岛湖有多少个岛屿可以上岛「推荐千岛湖有多少个岛」

    小伙伴们大家好,这次沈瀚轩早带大家来分析下关于千岛湖有多少个岛屿可以上岛,千岛湖有多少个岛,还有干货岛屿,水位,小岛,范畴,才能等等各种精品,其实这篇文章主要还是为新手朋友整理的,总的来说思路还是很重要! 杭州淳安千岛湖1078岛并被命名为“千岛湖”。那么,多大的岛才能进入统计范畴?即在千岛湖最高水位时,大于0.25平方公里的岛屿可以纳入统计。但是,在千岛湖…

    2023年2月14日