设计模式--工厂模式

工厂模式的介绍

工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一,它提供了一种创建对象的方式,使得创建对象的过程与使用对象的过程分离。

工厂模式提供了一种创建对象的方式,而无需指定要创建的具体类。

通过使用工厂模式,可以将对象的创建逻辑封装在一个工厂类中,而不是在客户端代码中直接实例化对象,这样可以提高代码的可维护性和可扩展性。

重点:其中的核心思想就是把创建对象和使用对象解耦,由工厂负责对象的创建,而用户只能通过接口来使用对象,这样就可以灵活应对变化的业务需求

**注意:**如果对象较为简单,通过 new 即可完成创建,则不必使用工厂模式。使用工厂模式会引入一个工厂类,增加系统复杂度。

单例模式的实现

首先定义一个创建对象的接口,让其子类决定实例化哪一个具体的类

java 复制代码
public interface  People {
    void talk();
}

创建实现接口的两个实体类。

java 复制代码
//学生
public class Student implements People{
    @Override
    public void talk() {
        System.out.println("我是一名学生");
    }
}

//老师
public class Teacher implements People{
    @Override
    public void talk() {
        System.out.println("我是一名老师");
    }
}

创建一个工厂,生成基于给定信息的实体类的对象。

java 复制代码
public class PeopleFactory {
    public People getShape(String peopleType){
        if(peopleType == null){
            return null;
        }
        if(peopleType.equalsIgnoreCase("Teacher")){
            return new Teacher();
        } else if(peopleType.equalsIgnoreCase("Student")){
            return new Student();
        }
        return null;
    }
}

测试

java 复制代码
public class FactoryDemo {
    public static void main(String[] args) {
        PeopleFactory peopleFactory = new PeopleFactory();
        People people1 = peopleFactory.getShape("Teacher");
        people1.talk();
        People people2 = peopleFactory.getShape("Student");
        people2.talk();
    }
}

结果

相关推荐
小bo波1 小时前
枚举实战
java·设计模式·枚举·后端开发·代码重构
不好听6135 小时前
Prompt 驱动 NLP:用大语言模型重新定义自然语言处理开发范式
设计模式·node.js·nlp
天文家7 小时前
深入理解装饰器与适配器:从设计模式到 Spring AOP 的工程实践
java·设计模式
workflower8 小时前
医院核心竞争力的四大重构
人工智能·安全·设计模式·重构·动态规划·scrum
折哥的程序人生 · 物流技术专研12 小时前
【电商多平台电子面单对接实战|第二篇】抖音代发电子面单对接:从“面条代码”到整洁架构的涅槃之路
设计模式·架构·系统架构·单元测试·代码规范·单一职责原则
葫芦和十三13 小时前
范式之变|Agent 设计,换语言了
人工智能·设计模式
ourenjiang14 小时前
【学习设计模式】原型模式
学习·设计模式·原型模式
贵慜_Derek14 小时前
《从零实现 Agent 系统》连载 20|MCP 与 Code Execution:协议、档位与 Sidecar
人工智能·设计模式·架构
Sam_Deep_Thinking2 天前
结算分摊的策略模式:不同营销活动的扣点计算方案
java·设计模式·架构·系统架构
故渊at2 天前
系列一:架构思想进阶 | 第3篇 SOLID 原则与设计模式实战:从“代码搬运工”到“架构师”的必经之路
观察者模式·设计模式·重构·架构·代理模式