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产品");
    }
}
相关推荐
JH30736 小时前
SpringBoot 优雅处理金额格式化:拦截器+自定义注解方案
java·spring boot·spring
Coder_Boy_7 小时前
技术让开发更轻松的底层矛盾
java·大数据·数据库·人工智能·深度学习
invicinble7 小时前
对tomcat的提供的功能与底层拓扑结构与实现机制的理解
java·tomcat
较真的菜鸟7 小时前
使用ASM和agent监控属性变化
java
黎雁·泠崖7 小时前
【魔法森林冒险】5/14 Allen类(三):任务进度与状态管理
java·开发语言
qq_12498707539 小时前
基于SSM的动物保护系统的设计与实现(源码+论文+部署+安装)
java·数据库·spring boot·毕业设计·ssm·计算机毕业设计
Coder_Boy_9 小时前
基于SpringAI的在线考试系统-考试系统开发流程案例
java·数据库·人工智能·spring boot·后端
Mr_sun.9 小时前
Day06——权限认证-项目集成
java
瑶山9 小时前
Spring Cloud微服务搭建四、集成RocketMQ消息队列
java·spring cloud·微服务·rocketmq·dashboard
abluckyboy9 小时前
Java 实现求 n 的 n^n 次方的最后一位数字
java·python·算法