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

工厂方法模式是Java中最常用的设计模式之一,这类设计模式属于创造性模式。本文通过一个具体的例子逐步分析实现工厂方法模式@mikechen的应用场景和优缺点工厂方法模式的定义工厂方法模式,也称为“静态工厂方法模式”,属于类创建模式,创建模式(工厂方法模式、抽象工厂、单例...

工厂方法模式是Java中最常用的设计模式之一,这类设计模式属于创造性模式。

本文通过一个具体的例子逐步分析实现工厂方法模式@mikechen的应用场景和优缺点

工厂方法模式的定义

工厂方法模式,也称为“静态工厂方法模式”,属于类创建模式,创建模式(工厂方法模式、抽象工厂、单例模式、生成器模式)也是如此。

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

工厂方法模式的结构

1.工厂级

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

2.抽象产品

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

3.特定产品

特定的产品角色是创建目标,所有创建的对象都充当该角色的特定类的实例。

工厂方法模式的实现

有三个主要步骤:

1.创建一个抽象产品类

创建抽象产品类的作用是定义特定产品的公共接口。

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

2.创建特定的产品类别。

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

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

3.创建工厂类

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

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

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

工厂方法模式的优缺点

1 .优势

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

把初始化实例的工作放在工厂里,让代码更容易维护。

2.不足之处

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

与“开闭原则”相反,一旦增加新产品,就不得不修改工厂类的逻辑,这会导致工厂逻辑过于复杂。

由于工厂方法模式中使用的是静态工厂方法,静态方法无法继承和重写,这将导致工厂角色无法形成基于继承的层次结构。

工厂方法模式的应用场景

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

2.客户端不需要关心创建细节,连类名都不需要记住,只需要知道类型对应的参数就可以了。

3.当工厂类负责创建较少的对象和特定的产品时,工厂方法中的业务逻辑不会太复杂,因为创建的对象较少。

工厂方法模式概述

1.工厂方法模式有三个角色:

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

2.工厂方法模式最大的优点是把对象的创建和对象的使用分开,把对象的创建留给一个专门的工厂类,但它最大的缺点是工厂类不够灵活,需要修改工厂类的判断逻辑代码来添加新的具体产品。而且产品多的时候,工厂方法代码会很复杂。

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

本文来自一纸枕书投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/475020.html

打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
() 0
上一篇 03-25
下一篇 03-25

相关推荐

  • 营销的方式有哪些(营销模式有哪些)

    这10种极端营销方法你学会了吗?90后李300 2019-6-21 11:13销售管理这篇文章会给你带来至少3倍的销售额。经典的营销方式讲了很多,问题是不能落地。今天给大家分享10个营销方法+3个实际案例,简单易懂。希望你看完之后能有所收获。一、店铺内功主图、详情页等。都是店铺内功的

    2023-07-28 14:19:01
    687 0
  • 项目商业模式怎么写 最全盈利模式方案范本

    原文:前海中天资本前海中天资本商业计划商业模式怎么写?在我们用常识和逻辑解构商业本质的时候,我一直拒绝一切商业模式神秘主义。不清晰的商业模式一定不是好的商业模式。当然,有些项目目前不需要商业模式,但至少目前的产品有足够的“替代拐点”,必须是“金钩”。先说说

    2023-07-28 12:57:01
    936 0
  • 哔咔漫画如何进入隐藏模式?(咔哔漫画如何进入隐藏模式)

    01比卡漫画的隐藏模式可以在比卡漫画APP首页找到CG出处。选择CG15登录,可以进入隐藏模式,可以看到隐藏的内容。这是ios设备用户专用的使用模式。Bika Comics是一款专门为喜欢二次元漫画的宅男宅女设计的移动漫画阅读软件。最新版的bickbickbickbickbickbickbickbickbickbick

    2023-07-28 06:58:01
    168 0
  • 人像模式和拍照模式的区别

    核心答案要点:区别:拍摄参数不同、相机功能不同、优化效果不同。1、拍摄参数不同:人像模式和拍照模式的区别就是前者拍人比较好,后者拍物比 区别:拍摄参数不同、相机功能不同、优化效果不同。1、拍摄参数不同:人像模式和拍照模式的区别就是前者拍人比较好,后者拍物比较

    2023-07-27 21:24:01
    439 0

评论列表

联系我们

在线咨询: QQ交谈

邮件:admin@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信