C#实现数据采集系统-系统优化服务封装

embedded/2024/10/18 18:24:29/

系统优化-服务封装

现在我们调用modbustcp和mqtt都直接在Program,所有加载和功能都混合在一起,比较难以维护
在这里插入图片描述

类似asp.net core项目的Program.cs代码如下,构建服务配置和启动
在这里插入图片描述

要实现的效果,Main方法中就是一个服务启动,只需要几行代码
在这里插入图片描述

分析代码

这里分成两部分,一部分是配置文件加载,另一部分是各种功能调用和启动

在这里插入图片描述

优化封装

配置封装

在DAqOption增加List<RegisterPoint>数据点位集合,让配置信息都在一个Option中,他将作为参数传递到后续的服务中去

public class DAqOption
{public DeviceLink DeviceLi

http://www.ppmy.cn/embedded/88925.html

相关文章

k8s笔记之创建Istio Gateway规则

创建Istio Gateway 背景如何创建Istio Gateway规则配置方式rewrite重写路径直接去除match&#xff0c;默认都转发到一个服务路由规则多种配置方式实践&#xff08;即开头的完整版&#xff09; 涉及的命令补充注意事项 背景 为什么需要使用到Istio Gateway&#xff1f;充当k8s服…

vulhub:nginx解析漏洞CVE-2013-4547

此漏洞为文件名逻辑漏洞&#xff0c;该漏洞在上传图片时&#xff0c;修改其16进制编码可使其绕过策略&#xff0c;导致解析为 php。当Nginx 得到一个用户请求时&#xff0c;首先对 url 进行解析&#xff0c;进行正则匹配&#xff0c;如果匹配到以.php后缀结尾的文件名&#xff…

springCloud组件专题(五) --- seata

一.Seata介绍 1. seata是什么 是一款开源的分布式事务解决方案&#xff0c;供了 AT、TCC、SAGA 和 XA 事务模式。 2.分布式事务中的概念 2.1. 二阶段提交 二阶段提交的含义就是将事务的提交分成两个步骤&#xff0c;分别为&#xff1a; 准备阶段&#xff1a;事务协调者询问所…

JAVA基础知识点3 (String 和 StringBuffer 以及 StringBuilder 的特点以及区别)

1&#xff0c;String 和 StringBuffer 以及 StringBuilder 的特点 &#xff08;1&#xff09;String的特点&#xff1a;String是final修饰的字符序列是不可改变的&#xff0c; 是字符串常量&#xff0c;一旦初始化就不可以被更改,因此是线程安全的 因为是常量每次对其操作都会…

利用开源可视化报表工具进入流程化办公!

很多客户朋友都希望能实现流程化办公&#xff0c;因为只有这样才能帮助企业顺利降本、增效、提质&#xff0c;利用好企业内部数据资源&#xff0c;打破信息孤岛壁垒&#xff0c;实现高效发展。低代码技术平台、开源可视化报表工具优势功能特点多&#xff0c;是提质高效的办公利…

mac|运行别人的SpringBoot+Vue项目

一、运行vue 1、查看项目版本&#xff0c;在package.json中查看&#xff0c;在dependencies中的vue就是对应的版本 2、查看本机的vue版本&#xff1a;vue -V 3、删除node_modules 、package-lock.json 4、运行npm install 如果卡住不动&#xff0c;可能是因为网络问题&…

[Docker][Docker Container]详细讲解

目录 1.什么是容器&#xff1f;2.容器命令1.docker creatre2.docker run3.docker ps4.docker logs5.docker attach6.docker exec7.docker start8.docker stop9.docker restart10.docker kill11.docker top12.docker stats13.docker container inspect14.docker port15.docker c…

LeeCode Practice Journal | Day31_GA05

56. 合并区间 题目&#xff1a;56. 合并区间 - 力扣&#xff08;LeetCode&#xff09; 题解&#xff1a;代码随想录 (programmercarl.com) 思路很清晰&#xff0c;对数组的操作稀烂&#xff0c;细节上也出现很多问题 solution public class Solution {public int[][] Merge(in…