最新Java设计模式:工厂方法模式,使用指南

一线互联网大厂Java核心面试题库

image

正逢面试跳槽季,给大家整理了大厂问到的一些面试真题,由于文章长度限制,只给大家展示了部分题目,更多Java基础、异常、集合、并发编程、JVM、Spring全家桶、MyBatis、Redis、数据库、中间件MQ、Dubbo、Linux、Tomcat、ZooKeeper、Netty等等已整理上传,感兴趣的朋友可以看看支持一波!

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

工厂方法模式四要素

抽象产品;具体产品;抽象工厂;具体工厂。

代码说明:

前言中的案例,正好可以用工厂方法模式实现。

现在以保存功能为例,以bmp图片,jpg图片为例,采用工厂方法模式设计,结构如下:

(1)抽象产品


package com.bean;



public interface Image {



    /**

     *  保存图片

     * @param name 图片名称

     */

    void save(String name);



}

(2)具体产品1(bmp)


package com.bean;



public class BmpImage implements Image {



    public void save(String name) {

        System.out.println("获得 [" + name + ".bmp]");

    }



}



(3)具体产品2(jpg)


package com.bean;



public class JpgImage implements Image {



    public void save(String name) {

        System.out.println("获得 [" + name + ".jpg]");

    }



}



(4)抽象工厂


package com.factory;



import com.bean.Image;



public interface ImageFactory {



    /**

     * 获取图片类实例

     */

    Image getImage();



}



(5)具体工厂1(bmp)


package com.factory;



import com.bean.BmpImage;

import com.bean.Image;



public class BmpFactory implements ImageFactory {



    public Image getImage() {

        return new BmpImage();

    }



}



(6)具体工厂2(jpg)


package com.factory;



import com.bean.JpgImage;

import com.bean.Image;




# 惊喜

最后还准备了一套上面资料对应的面试题(有答案哦)和面试时的高频面试算法题(如果面试准备时间不够,那么集中把这些算法题做完即可,命中率高达85%+)

![image.png](https://img-blog.csdnimg.cn/img_convert/084cac3a1a4d79d12b92f657939e9c46.webp?x-oss-process=image/format,png)


![image.png](https://img-blog.csdnimg.cn/img_convert/dbcee623cc9fb14653e50e751aaf2aeb.webp?x-oss-process=image/format,png)

> **本文已被[CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)收录**

**[需要这份系统化的资料的朋友,可以点击这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**

02)]

> **本文已被[CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)收录**

**[需要这份系统化的资料的朋友,可以点击这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值