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产品");
    }
}
相关推荐
程序员-小李6 分钟前
Spring Boot整合JWT实现认证与授权
java·前端·spring boot
24kHT6 分钟前
2.1 Maven项目架构管理工具
java·架构·maven
酷爱码9 分钟前
java 数据输出占5列,右对齐
java·开发语言
吃一口大米饭10 分钟前
JAVA线程的几种状态
java·开发语言·jvm
多多*10 分钟前
写两个hascode和equals的例子
java·开发语言·jvm·spring boot·算法·spring·缓存
倾世如歌如诗10 分钟前
jdk(我这里是jdk17)设置JAVA_HOME路径不成功
java
你不是我我19 分钟前
【Java开发日记】说一说序列化与反序列化中存在的问题
java
yzhSWJ24 分钟前
Excel 操作 转图片,转pdf等
java·pdf·excel
小贾要学习34 分钟前
【C++】stack,queue和priority_queue(优先级队列)
java·c++·rpc