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产品");
    }
}
相关推荐
苍煜2 分钟前
慢SQL优化实战教学
java·数据库·sql
AI进化营-智能译站5 分钟前
ROS2 C++开发系列16-智能指针管理传感器句柄|告别ROS2节点内存泄漏与野指针
java·c++·算法·ai
TeDi TIVE1 小时前
springboot和springframework版本依赖关系
java·spring boot·后端
二哈赛车手1 小时前
新人笔记---ES和kibana启动问题以及一些常用的linux的错误排查方法,以及ES,数据库泄密解决方案[超详细]
java·linux·数据库·spring boot·笔记·elasticsearch
嵌入式×边缘AI:打怪升级日志1 小时前
嵌入式Linux开发核心自测题(全系列精华浓缩)
java·linux·运维
FQNmxDG4S1 小时前
JVM内存模型详解:堆、栈、方法区与垃圾回收
java·jvm·算法
jason.zeng@15022072 小时前
Androidr入门环境搭建
java·kotlin
摇滚侠2 小时前
整洁的桌面和任务栏 Java 开发工程师提效方法
java·开发语言
每天都要加油呀!2 小时前
多租户中间件适配
java·多租户
014-code3 小时前
Java 并发中的原子类
java·开发语言·并发