Simple Factory(简单工厂)

Simple Factory(简单工厂)

前言:

最近在备考记录下设计模式,

1.简单工厂 -->> 2.工厂方法 -->> 3.抽象工厂 -->> 4.生成器 -->> 5.原生 --->> 6.单例

  • 简单工厂模式属创建型模式,但不属于23种设计模式之一。
  • 定义:定义一个工厂类,他可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类。在简单工厂模式中用于被创建实例的方法通常为静态(static)方法,因此简单工厂模式又被成为静态工厂方法
  • 简单工厂模式违反了开放封闭原则,即对扩展开放对修改也开放。
c 复制代码
public class SimpleFactory {
    public static void main(String[] args) {
        Product product = Factory.createProduct("A");
        product.info();
    }
}

class Factory {
    public static Product createProduct(String type) {
        Product product = null;
        switch (type){
            case "A":
                product = new ProductA();
                break;
            case "B":
                product = new ProductB();
                break;
        }
        return product;
    }
}

abstract class Product {
    public abstract void info();
}

class ProductA extends Product {
    public void info() {
        System.out.println("A产品");
    }
}

class ProductB extends Product {
    public void info() {
        System.out.println("B产品");
    }
}
相关推荐
Jasonakeke9 小时前
SpringBoot自动配置原理揭秘
java·spring boot·后端
2301_803538959 小时前
Java读取Word图片的两种实用方法
java·开发语言·word
C+-C资深大佬10 小时前
SSM 框架(Spring + SpringMVC + MyBatis)
java·spring·mybatis
帅次10 小时前
Android 17 开发者实战:核心更新与应用场景落地指南
android·java·ios·android studio·iphone·android jetpack·webview
Ramble_Naylor10 小时前
东方通(TongWeb)SpringBoot开发指导
java·spring boot
大鹏说大话10 小时前
SQL 排序与分组实战:解决“分组后取最新数据“
android·java·数据库
云烟成雨TD10 小时前
Spring AI Alibaba 1.x 系列【64】 ReactAgent 长期记忆
java·人工智能·spring
quan263111 小时前
20260529,日常开发-数据库主从问题
java·mysql·主从·延迟
JacksonMx11 小时前
@Transactional 最佳实践
java·spring boot·spring·性能优化
Sincerelyplz11 小时前
【AI会议纪要实践】mapReduce、RAG 与结构化输出
java·后端·agent