java工厂方法模拟使用,Java使用设计模式中的工厂方法模式实例解析 淡淡的烟草味﹌ 2022-11-18 11:00 156阅读 0赞 工厂方法模式的定义 工厂方法(Factory Method)模式的意义是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口,这样进一步抽象化的好处是使得工厂方法模式可以使系统在不修改具体工厂角色的情况下引进新的产品。 它包含了如下角色: 抽象产品(Product) 具体产品(ConcreteProduct) 抽象工厂(Factory) 具体工厂(ConcreteFactory) 模式的UML类图 ![jjbref3jpny.jpg][] 实例 假设有三个笔芯,分别是红笔芯、蓝笔芯和黑笔芯。用户希望通过圆珠笔来明确笔芯的颜色。 模式的结构的描述与使用 1.抽象产品(Product): PenCore.java public abstract class PenCore\{ String color; public abstract void writeWord(String s); \} 2.具体产品(ConcreteProduct)\_1 : RedPenCore.java public class RedPenCore extends PenCore\{ RedPenCore()\{ color="红色"; \} public void writeWord(String s)\{ System.out.println("写出"+color+"的字:"+s); \} \} 具体产品(ConcreteProduct)\_2 : BluePenCore.java public class BluePenCore extends PenCore\{ BluePenCore()\{ color="蓝色"; \} public void writeWord(String s)\{ System.out.println("写出"+color+"的字:"+s); \} \} 具体产品(ConcreteProduct)\_3: BlackPenCore.java public class BlackPenCore extends PenCore\{ BlackPenCore()\{ color="黑色"; \} public void writeWord(String s)\{ System.out.println("写出"+color+"的字:"+s); \} \} 3.构造者(Creator): BallPen.java public abstract class BallPen\{ BallPen()\{ System.out.println("生产了一只装有"+getPenCore().color+"笔芯的圆珠笔"); \} public abstract PenCore getPenCore(); //工厂方法 \} 4.具体构造者(ConcreteCreator): RedBallPen.java public class RedBallPen extends BallPen\{ public PenCore getPenCore()\{ return new RedPenCore(); \} \} BlueBallPen.java public class BlueBallPen extends BallPen\{ public PenCore getPenCore()\{ return new BluePenCore(); \} \} BlackBallPen.java public class BlackBallPen extends BallPen\{ public PenCore getPenCore()\{ return new BlackPenCore(); \} \} 5.应用 Application.java public class Application\{ public static void main(String args\[\])\{ PenCore penCore; BallPen ballPen=new BlueBallPen(); penCore=ballPen.getPenCore(); penCore.writeWord("你好,很高兴认识你"); ballPen=new RedBallPen(); penCore=ballPen.getPenCore(); penCore.writeWord("How are you"); ballPen=new BlackBallPen(); penCore=ballPen.getPenCore(); penCore.writeWord("nice to meet you"); \} \} 总结 工厂方法模式属于类创建型模式。在工厂方法模式中,工厂父类负责定义创建产品对象的公共接口,而工厂子类则负责生成具体的产品对象,这样做的目的是将产品类的实例化操作延迟到工厂子类中完成,即通过工厂子类来确定究竟应该实例化哪一个具体产品类。 工厂方法模式是简单工厂模式的进一步抽象和推广。由于使用了面向对象的多态性,工厂方法模式保持了简单工厂模式的优点,而且克服了它的缺点。在工厂方法模式中,核心的工厂类不再负责所有产品的创建,而是将具体创建工作交给子类去做。这个核心类仅仅负责给出具体工厂必须实现的接口,而不负责产品类被实例化这种细节,这使得工厂方法模式可以允许系统在不修改工厂角色的情况下引进新产品 工厂方法模式的主要优点是增加新的产品类时无须修改现有系统,并封装了产品对象的创建细节,系统具有良好的灵活性和可扩展性;其缺点在于增加新产品的同时需要增加新的工厂,导致系统类的个数成对增加,在一定程度上增加了系统的复杂性 [jjbref3jpny.jpg]: https://www.jumtu.com/zb_users/upload/2021/01/20/jjbref3jpny.jpg
相关 Java设计模式:工厂方法案例解析 工厂方法(Factory Method)是Java设计模式中的一种,它是一种创建型模式,主要目的不在创建对象,而是用于指定创建对象的类。 案例解析: 1. **抽象工厂(A 小鱼儿/ 2024年10月21日 13:30/ 0 赞/ 27 阅读
相关 Java设计模式应用:工厂模式实例解析 工厂模式(Factory Pattern)是Java设计模式中的一种,其主要目的是通过创建对象的工厂来封装对象的创建过程,使得客户端不依赖于具体的实现类。 下面以一个简单的购 Love The Way You Lie/ 2024年10月17日 11:42/ 0 赞/ 51 阅读
相关 Java设计模式:工厂方法使用误区解析 工厂方法(Factory Method)是Java设计模式中的一个,主要目的是创建产品,但不负责产品的具体实现。这种模式常用于面向对象编程中,让代码更加灵活和可扩展。 工厂方 我不是女神ヾ/ 2024年10月08日 12:30/ 0 赞/ 43 阅读
相关 Java设计模式:工厂方法模式案例解析 工厂方法模式是一种创建型设计模式,其主要目的是将对象的创建行为延迟到使用时。 案例解析如下: 1. **抽象产品(Product Interface)**: 在工厂方 清疚/ 2024年09月19日 02:27/ 0 赞/ 90 阅读
相关 Java设计模式:工厂方法模式实现案例解析 工厂方法(Factory Method)是Java设计模式中的一个,它主要用于创建对象,但具体的创建行为由子类决定。 下面是一个简单的工厂方法模式实现案例: **抽象产品( ╰+攻爆jí腚メ/ 2024年09月18日 11:33/ 0 赞/ 67 阅读
相关 设计模式在Java中的应用:工厂方法实例解析 工厂方法(Factory Method)是设计模式中的一种,主要用来创建对象,但不提供新对象的直接建造行为。这种模式隐藏了产品(对象)的创建细节。 在Java中,工厂方法通常 - 日理万妓/ 2024年09月12日 05:15/ 0 赞/ 78 阅读
相关 Java设计模式实战:工厂方法模式实例解析 工厂方法(Factory Method Pattern)是一种创建型设计模式,它不直接创建对象,而是由一个接口创建对象。这种模式提供了一种标准方式来创建子类对象。 下面是一个 素颜马尾好姑娘i/ 2024年09月12日 02:36/ 0 赞/ 81 阅读
相关 java工厂方法模拟使用,Java使用设计模式中的工厂方法模式实例解析 工厂方法模式的定义 工厂方法(Factory Method)模式的意义是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。核心工厂类不再负责产品的创建,这样核心类 淡淡的烟草味﹌/ 2022年11月18日 11:00/ 0 赞/ 157 阅读
还没有评论,来说两句吧...