美文网首页
创建型模式:02-工厂方法模式

创建型模式:02-工厂方法模式

作者: 综合楼 | 来源:发表于2021-06-09 21:54 被阅读0次

类图:

image.png

示例代码:

image.png
package com.zhs.design.factory.method.factory;
----------------------------------------------------------------
public interface PictureReaderFactory {
    PictureReader creatReader();
}
----------------------------------------------------------------
public class GifReaderFactory implements PictureReaderFactory {
    @Override
    public PictureReader creatReader() {
        return new GifReader();
    }
}
----------------------------------------------------------------
public class JpgReaderFactory implements PictureReaderFactory {
    @Override
    public PictureReader creatReader() {
        return new JpgReader();
    }
}
----------------------------------------------------------------
public class PngReaderFactory implements PictureReaderFactory {
    @Override
    public PictureReader creatReader() {
        return new PngReader();
    }
}
package com.zhs.design.factory.method.reader;
----------------------------------------------------------------
public interface PictureReader {
    String read(String png);
}
----------------------------------------------------------------
public class GifReader implements PictureReader {
    public GifReader() {
        System.out.println("创建GIF图片读取器成功!");
    }
    @Override
    public String read(String gif) {
        return "读取的GIF图片的内容为:"+gif;
    }
}
----------------------------------------------------------------
public class JpgReader implements PictureReader {
    public JpgReader() {
        System.out.println("创建JPG图片读取器成功!");

    }
    @Override
    public String read(String jpg) {
        return "读取的JPG图片的内容为:"+jpg;
    }
}
----------------------------------------------------------------
public class PngReader implements PictureReader {
    public PngReader() {
        System.out.println("创建PNG图片读取器成功!");
    }

    @Override
    public String read(String png) {
        return "读取的PNG图片的内容为:"+png;
    }
}
package com.zhs.design.factory.method;

public class Client {
    public static void main(String[] args) {
        PictureReaderFactory factory = new GifReaderFactory();
        PictureReader reader = factory.creatReader();
        System.out.println(reader.read("我是猫咪图片"));
    }
}

运行结果:

image.png

相关文章

  • 设计模式(1) 工厂方法模式

    创建型模式 简单工厂模式 工厂方法模式IOC与工厂方法模式的结合泛型工厂委托工厂 创建型模式 创建型模式可以隔离客...

  • Kotlin(八)kotlin设计模式-创建型

    创建型模式 - 工厂 Kotlin里面几种主流创建型设计模式:工厂方法模式,抽象工厂模式,构建者模式 8.1 伴生...

  • 工厂方法模式

    什么是工厂方法模式 工厂方法模式又称为工厂模式,属于创建型设计模式。工厂方法模式定义了一个创建对象的接口,但由子类...

  • 简单工厂模式

    工厂方法模式(Factory Pattern)是创建型设计模式之一。 一、定义 简单工厂模式又称为静态方法工厂模式...

  • 2021-11-16 - 学习记录

    设计模式学习:创建型:工厂(工厂方法,抽象工厂),建造者,单例,原型 设计模式:工厂模式 简单工厂 工厂方法 抽象工厂

  • JavaScript 23种设计模式

    创建型: 抽象工厂模式(Abstract Factory) 构建者模式(Builder) 工厂方法模式(Facto...

  • 设计模式[2]-工厂方法模式-Factory Method Pa

    1. 工厂方法模式简介 工厂方法模式(Factory Method Pattern)是创建型的设计模式,和简单工厂...

  • 工厂模式-简单工厂模式、工厂方法模式、抽象工厂模式

    工厂模式 工厂模式是一种比较常见的创建型设计模式,分为简单工厂模式、工厂方法模式、抽象工厂模式 工厂模式旨在把对象...

  • 设计模式[3]-抽象工厂模式-Abstract Factory

    1.抽象工厂模式介绍 抽象工厂模式是创建型设计模式,可以创建一组对象。与工厂方法模式相比,抽象工厂模式中的具体工厂...

  • 设计模式小结

    设计模式 7 大原则 创建型 单例模式 原型模式 创建者模式(生成器模式) 简单工厂模式 工厂方法模式 抽象工厂模...

网友评论

      本文标题:创建型模式:02-工厂方法模式

      本文链接:https://www.haomeiwen.com/subject/cxfceltx.html