代码优化之工厂

2024-03-27 21:28
文章标签 工厂 代码优化

本文主要是介绍代码优化之工厂,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  1. 定义抽象类
public interface PullDataService{void pullData();
}
  1. 定义各自得类型并实现该接口
@Service("note")
public class NoteService implements PullDataService{@Overridepublic void pullData(){System.out.println("node");}
}
@Service("order")
public class OrderService implements PullDataService{@Overridepublic void pullData(){System.out.println("order");}
}
  1. 项目启动生成工厂
import lombok.RequiredArgsConstructor;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Component;import java.util.HashMap;
import java.util.Map;@Component
@RequiredArgsConstructor
public class ServiceFactory implements ApplicationRunner{public static final Map<String,PullDataService> SERVICE_MAP =new HashMap<>();private final ApplicationContext applicationContext;@Overridepublic void run(ApplicationArguments args){Map<String, PullDataService> beansOfType = applicationContext.getBeansOfType(JkyService.class);beansOfType.forEach(SERVICE_MAP::put);}public PullDataService getService(String serviceName){return SERVICE_MAP.get(serviceName);}
}
  1. 使用
    private final ServiceFactory serviceFactory;@GetMapping("/x")@ApiOperation(value = "x")public void x(@RequestParam("service")String service){serviceFactory.getService(service).pullData();}

这篇关于代码优化之工厂的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/853436

相关文章

工厂ERP管理系统实现源码(JAVA)

工厂进销存管理系统是一个集采购管理、仓库管理、生产管理和销售管理于一体的综合解决方案。该系统旨在帮助企业优化流程、提高效率、降低成本,并实时掌握各环节的运营状况。 在采购管理方面,系统能够处理采购订单、供应商管理和采购入库等流程,确保采购过程的透明和高效。仓库管理方面,实现库存的精准管理,包括入库、出库、盘点等操作,确保库存数据的准确性和实时性。 生产管理模块则涵盖了生产计划制定、物料需求计划、

设计模式之工厂模式(通俗易懂--代码辅助理解【Java版】)

文章目录 1、工厂模式概述1)特点:2)主要角色:3)工作流程:4)优点5)缺点6)适用场景 2、简单工厂模式(静态工厂模式)1) 在简单工厂模式中,有三个主要角色:2) 简单工厂模式的优点包括:3) 简单工厂模式也有一些限制和考虑因素:4) 简单工厂模式适用场景:5) 简单工厂UML类图:6) 代码示例: 3、工厂方法模式1) 在工厂方法模式中,有4个主要角色:2) 工厂方法模式的工作流程

工厂方法模式和抽象工厂模式的区别

区别  工厂方法模式: 一个抽象产品类,可以派生出多个具体产品类。    一个抽象工厂类,可以派生出多个具体工厂类。    每个具体工厂类只能创建一个具体产品类的实例。 抽象工厂模式: 多个抽象产品类,每个抽象产品类可以派生出多个具体产品类。    一个抽象工厂类,可以派生出多个具体工厂类。    每个具体工厂类可以创建多个具体产品类的实例。    区别: 工厂方法模式只有一个抽象产品类

c++11工厂子类实现自注册的两种方法

文章目录 一、产品类构建1. 猫基类与各品种猫子类2.狗基类与各品种狗子类 二、工厂类构建三、客户端使用switch-case实现调用不同工厂子类四、自注册方法一:公开注册函数显式注册五、自注册方法二:构造函数隐形注册总结 一、产品类构建 1. 猫基类与各品种猫子类 class Cat {public:virtual void Printer() = 0;};class

智能工厂程序设计 之1 智能工厂都本俱的方面(Facet,Aspect和Respect)即智能依赖的基底Substrate 之1

Q1、昨天分别给出了三个智能工厂的 “面face”(里面inter-face,外面outer-face和表面surface) 以及每个“面face” 各自使用的“方”(StringProcessor,CaseFilter和ModeAdapter)  。今天我们将继续说说三个智能工厂的“方面” 。在展开之前先看一下三个单词:面向facing,取向oriented,朝向toword。理解这三个词 和

设计模式(1)-- 工厂模式

工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。 介绍 意图:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。 主要解决:主要解决接口选择的问

变压器制造5G智能工厂工业物联数字孪生平台,推进制造业数字化转型

变压器制造5G智能工厂工业物联数字孪生平台,推进制造业数字化转型。作为传统制造业的重要组成部分,变压器制造行业也不例外地踏上了数字化转型的快车道。而变压器制造5G智能工厂物联数字孪生平台的出现,更是为这一进程注入了强大的动力,不仅极大地提升了生产效率,还推动了整个行业的智能化、精细化发展。 5G智能工厂,是基于5G通信技术和物联网(IoT)的深度融合而构建的智能制造体系。它利用5G网络的高速度、

发动机制造5G智能工厂工业物联数字孪生平台,推进制造业数字化转型

发动机制造作为高端制造业的核心领域之一,正积极探索并引领这一变革。其中,发动机制造5G智能工厂物联数字孪生平台的兴起,不仅为发动机制造业注入了新的活力,也为整个制造业的数字化转型树立了新的标杆。发动机制造5G智能工厂物联数字孪生平台,是基于5G通信技术、物联网(IoT)、大数据、人工智能(AI)及数字孪生技术等多领域深度融合的产物。 工业物联网技术将发动机制造工厂内的各类设备、传感器等物体互联互

“设计模式双剑合璧:工厂模式与策略模式在支付系统中的完美结合”

工厂模式(Factory Pattern)和策略模式(Strategy Pattern)都是常见的设计模式,但它们解决的问题和应用场景不同。下面是它们的区别: 1. 目的不同: 工厂模式(Factory Pattern): 工厂模式的主要目的是创建对象。它通过定义一个创建对象的接口,让子类决定实例化哪一个具体类,从而将对象创建的逻辑与使用的代码分离。 工厂模式可以分为简单工厂、工厂方法和抽象

创建型模式————工厂方法模式

1.由来        简单工厂模式中,每个按钮收拾由按钮工厂类来统一的负责所有的产品创建,现在我们将这个创建交给专门的工厂子类去完成,我们先定义一个抽象的按钮工厂类,在定义一个工厂类来生成圆形按钮,矩形按钮,方形按钮等,它们实现在抽象按钮中定义的方法,