java设计模式:工厂模式

1:在平常的开发工作中,我们可能会用到不同的设计模式,合理的使用设计模式,可以提高开发效率,提高代码质量,提高系统的可拓展性,今天来简单聊聊工厂模式。

2:工厂模式是一种创建对象的设计模式,平常我们创建对象可能使用new来创建,使用工厂模式,我们可以通过调用工厂类的静态方法或者实例方法来创建对象。

抽象产品:主要是父类或者接口,定义了需要实现的方法

具体产品:实现类,实现父类或者接口的方法

工厂类:负责创建对象

3:简单示例:

抽象产品:定义一个动物接口,里面包含eat()方法:

java 复制代码
package test.boot.factory;

public interface Animal {

    void eat();

}

具体产品:定义两个类:Tiger和Sheep分别实现eat()方法

java 复制代码
package test.boot.factory;

public class Sheep implements Animal{
    @Override
    public void eat() {
        System.out.println("吃草");
    }
}
java 复制代码
package test.boot.factory;

public class Tiger implements Animal{
    @Override
    public void eat() {
        System.out.println("吃肉");
    }
}

工厂类:

sql 复制代码
package test.boot.factory;

public class AnimalFactory {

    public static Animal create(String type) {
        if (type.equals("tiger")) {
            return new Tiger();
        } else if (type.equals("sheep")) {
            return new Sheep();
        }
        throw new IllegalArgumentException("Invalid Animal type: " + type);
    }

}

4:客户端:调用实现

java 复制代码
package test.boot.factory;

public class Test {

    public static void main(String[] args) {
        Animal animal1 = AnimalFactory.create("tiger");
        animal1.eat();

        Animal animal2 = AnimalFactory.create("sheep");
        animal2.eat();
    }

}

运行结果:

5:以上为工厂模式的简单示例。合理的使用,可以提高代码的可维护性和拓展性,隐藏了实现的具体细节,客户端只需要调用即可。

相关推荐
卓怡学长11 分钟前
m319个人网站的设计与实现
java·数据库·spring·tomcat·maven·intellij-idea
Zzj_tju26 分钟前
Java 从入门到精通(十二):File 与 IO 流基础,为什么程序“读写文件”时总是容易出问题?
java·python·php
橘子编程1 小时前
操作系统原理:从入门到精通全解析
java·linux·开发语言·windows·计算机网络·面试
飞Link1 小时前
LangGraph 核心架构解析:节点 (Nodes) 与边 (Edges) 的工作机制及实战指南
java·开发语言·python·算法·架构
xuhaoyu_cpp_java2 小时前
Boyer-Moore 投票算法
java·经验分享·笔记·学习·算法
JavaEdge.2 小时前
Chrome加载已解压的扩展程序-清单文件缺失或不可读取 无法加载清单
java
iReachers2 小时前
HTML打包EXE配置管理教程:多项目打包设置一键保存、加载与切换
java·前端·javascript
XiYang-DING2 小时前
【Java】堆
java·开发语言
Lyyaoo.2 小时前
【Java基础面经】Java 反射机制
java·开发语言·python
YXWik62 小时前
Langchain4j(1)基础对话+连续对话+工具调用 + 流式响应+结构化 JSON 输出
java