PasteCode系列系统说明

定义

PasteCode系列是指项目是基于PasteTemplate构建的五层以上项目,包括不仅限于
Domain EntityFrameworkCore Application.Contracts Application HttpApi.Host

熟悉ABP vNext就很好理解了,因为PasteTemplate就是基于ABP的框架精简而来!在开发过程中配合PasteBuilder为新的表构建对应的代码!

PasteTemplate项目模板的源码在:PasteTemplate Gitee

经过多个项目的实战,我感觉这个框架应该再加一层XXX.Handler层,这个层是干啥的呢?表对应的模块的业务层,比如优惠券这个模块,可以编写一个CouponHandler,里面涉及优惠券相关的业务代码,比如领取,使用,报表等,那么层之间的调用
Domain->EntityFrameworkCore->Handler->Application->HttpApi.Host

Application.Contracts->Handler->Application->HttpApi.Host
这个Handler可以被多个地方引用,比如RestApi的Application,可以被Host的Controller引用,可以被后续引申出来的GRPC,或者RABBIT消费者等!
PasteTemplate自带了基础的User,Role,Grade等,权限控制采用过滤器的方式!

截至目前,PasteCode系列包含的项目如下:

PasteSpider

在这里插入图片描述

一个Linux上的容器部署工具,你可以理解成简单版本的K8S,特别适合于开发人员使用,特别是在服务部署到服务器后,后续的代码更新的升级等,集一键部署,自动伸缩,路由关联,项目网关,项目key-val,私有仓库,开发环境,定时发布,差量升级,版本回滚,数据监控,监控警报等,图形操作30分钟即可上手!
基础版本的源码在:PasteSpider基础版Gitee
关于具体的介绍可以看这里:
从需求角度介绍PasteSpider(K8S平替部署工具适合于任何开发语言)

PasteBuilder

这个就不是基于PasteTemplate项目模板构建的项目了,他是VS开发工具的右键代码插件,使用的前提是VS为2022版本以上,使用的项目框架为PasteTemplate,在新增Model表后,右键,选择菜单构建即可生成对应的AppService,Dto,和EF等代码,如果在XXX.Domain下的目录template添加对应的模板文件,可以基于自己的规则生成自己想要的代码格式!
PasteBuilder的项目源码在:PasteBuilder Gitee

PasteTask

一款任务调度器,比方说如果你有一个统计每小时的报表,如果你这个服务是集群部署,比如你部署了5个容器,按照以往的经验就是写一个定时器,一个小时执行一次,由于是集群部署,这就造成每个小时都运行了5个任务,有了PasteTask之后,他就会在设定的时间调用一次(至于哪个容器被调用就要看路由的配置了比如Nginx的upstream),如果失败了,可以基于配置调用多次,然后会记录各个任务的运行报表!
项目的源码在这: PasteTask Gitee

PasteTalk

一个多站点模式的在线客服系统,支持小程序端和WEB端,主要点在于是基于微服务设计的,可以快速部署,配合三方接口,可以实现比如给商城的在线客户发送优惠券,显示对应营销组件等!

PasteShop

基于多方需求构建的电商平台,支持多店铺入驻,支持多种支付方式,支持小程序和H5端,配合PasteSpider可以实现动态伸缩部署!

PasteSerilog

日志收集系统,主要是可以自定义不同应用的收集过滤,可以查看每个时段的访问数量,可以很好的查看日志,查看访问情况等!
支持日志信息自动清理,支持异常消息推送到指定WebHook,支持多数据库模式!可以查看IP访问综合数据,路径访问情况,域名等!

跟多项目还在开发中… … .

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/23368.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一些Mysql面试题

InnoDB是如何存储数据的? InnoDB 的数据是按「数据页」为单位来读写的,默认数据页大小为 16 KB。每个数据页之间通过双向链表的形式组织起来,物理上不连续,但是逻辑上连续。 数据页内包含用户记录,每个记录之间用单向…

【java 如何将字符串反转?】

文章目录 概要示例(1)使用StringBuilder的reverse方法(2)使用charAt和循环(3)使用双指针(4)使用递归 总结 概要 在Java中,有多种方法可以将字符串反转,我这里…

代码随想录训练营第二天 977有序数组的平方 209长度最小的子数组 59螺旋矩阵II

第一题: 题目链接:977. 有序数组的平方 - 力扣(LeetCode) 思路: 先将数组求完平方和后进行排序,很简单,主要是排序算法的考察。 这里采用快排 快排的思路: 取这个数组的中间值…

代码随想录算法训练营第四十六 | ● 139.单词拆分 ● 关于多重背包,你该了解这些! ● 背包问题总结篇!

139.单词拆分 视频讲解&#xff1a;https://www.bilibili.com/video/BV1pd4y147Rh https://programmercarl.com/0139.%E5%8D%95%E8%AF%8D%E6%8B%86%E5%88%86.html class Solution { public:bool wordBreak(string s, vector<string>& wordDict) {unordered_set<st…

java stream流之groupby的用法

简单分组 按照年龄对 Person 对象进行分组&#xff1a; 代码示例 import java.util.*; import java.util.stream.Collectors;public class SimpleGrouping {public static void main(String[] args) {List<Person> people Arrays.asList(new Person("Alice"…

上市即交付,比亚迪秦L DM-i万人交车暨千媒众测开营

6月6日&#xff0c;“引领中级 开创油耗2时代”秦L DM-i万人交车暨千媒众测开营仪式在比亚迪大本营深圳盛大举行。 众多车主代表亲临现场&#xff0c;与全国各地的比亚迪4S店千店联动&#xff0c;将秦L DM-i全国交付推向新的高潮。发布即量产&#xff0c;上市即交付&#xff0…

ESP32:FreeRTOS节拍配置(vTaskDelay延时10ms改为1ms)

文章目录 背景方法手动修改sdkconfig通过idf.py menuconfig 背景 在FreeRTOS的默认配置中&#xff0c;任务调度的频率默认是100HZ&#xff0c;因此默认vTaskDelay默认延时是10ms。 FreeRTOS 的系统时钟节拍可以在配置文件 FreeRTOSConfig.h 里面设置&#xff1a;#define confi…

【HarmonyOS】鸿蒙应用子模块module资源如何获取

【HarmonyOS】鸿蒙应用子模块module资源如何获取 一、问题背景&#xff1a; 在多模块项目工程中&#xff0c;单个模块的资源不会放在主模块中&#xff0c;所以我们需要在子模块中访问自己的资源。如果使用默认的资源获取api&#xff0c;会提示找不到资源。 那如何获取子模块下…

【AI基础】第四步:保姆喂饭级-langchain+chatglm2-6b+m3e-base

在第三步手动安装chatglm2-6b时&#xff0c;已经可以通过web进行交互。langchain重新封装了一下AI框架&#xff0c;提供更加友好的开发功能&#xff0c;类似于AI届的spring框架。langchain的安装过程也类似于上一步说的&#xff1a;【AI基础】第三步&#xff1a;纯天然手动安装…

负载均衡

文章目录 负载均衡的分类负载均衡的算法 负载均衡的分类 对链路的负载均衡 对链路的负载均衡主要是指应用方有多条ISP网络出口,比方说电信网通,电信铁通等,对链路的负载均衡也是解决目前电信网通互联互通的最专业的技术.其实现的原理是根据负载均衡算法来算出,到目标地址的数据…

企业获客有哪些好的广告推广拓客渠道?

在这个数字化营销的时代&#xff0c;企业要想在激烈的市场竞争中脱颖而出&#xff0c;选择正确的广告宣传渠道至关重要。随着互联网技术的飞速发展&#xff0c;各类媒体平台如雨后春笋般涌现&#xff0c;为企业提供了广阔的宣传空间。云衔科技通过多元化的媒体渠道&#xff0c;…

485数据采集模块

在工业自动化与智能化的浪潮中&#xff0c;数据采集作为整个系统的基础和核心&#xff0c;其准确性和实时性直接关系到生产效率和产品质量。而485数据采集模块&#xff0c;作为连接现场设备与上位机的重要桥梁&#xff0c;其性能与稳定性对于整个系统的运行至关重要。HiWoo Box…

【AIGC X UML 落地】通过多智能体实现自然语言绘制UML图

前天写了篇博文讲到用PlantUML来绘制C类图和流程图。后台有读者留言&#xff0c;问这步能否自动化生成&#xff0c;不想学习 PlantUML 语法。 我想了下&#xff0c;发现这事可行&#xff0c;确实可以做到通过自然语言的描述就能实现 UML图的绘制&#xff0c;昨天晚上加了个班到…

B站播放数量如何实现,高并发读写计数难点

我们先不考虑用户规模、并发量、性能、可靠性… 这些东西 我们就单单从功能层面实现统计视频播放量&#xff0c;其实很简单&#xff0c; 就是给视频表加一个字段&#xff0c;用来表示播放量 这样实现&#xff0c;最大的好处就是简单&#xff0c;但是我们马上就能发现一个非常严…

Vue 组件之间的通信

在 Vue.js 中&#xff0c;组件是构建应用程序的基本单位。然而&#xff0c;当你的应用程序变得复杂时&#xff0c;组件之间的通信变得至关重要。本文将介绍几种 Vue 组件之间通信的方式&#xff0c;帮助你更好地管理和组织代码。 父子组件通信 父组件可以通过 props 向子组件传…

离线下载安装TTS的步骤

要离线下载安装 TTS 模块&#xff0c;需要先在有网络的环境下下载所有所需的依赖项&#xff0c;然后将这些文件转移到目标环境中进行安装。以下是具体步骤&#xff1a; 步骤 1&#xff1a;在有网络的环境下下载依赖项 创建一个目录来存放下载的包&#xff1a; mkdir TTS_deps下…

在线标注流程

文章目录 在线标注流程标注方法 在线标注流程 登录地址&#xff1a;http://7a27c5e078f644a2a9b734603913c65e.login.bce.baidu.com 出现页面&#xff1a; 登录名&#xff1a; 三个中任意一个 密码&#xff1a;ZNSJ123a 登录之后叉掉。再打开这个网站&#xff1a;https://…

【ZYNQ】CPU 私有定时器

Zynq 的每个 Cortex-A9 处理器都有自己的专用 32 位定时器和 32 位看门狗定时器&#xff0c;两个处理器共享一个全局 64 位定时器&#xff0c;这些计时器的时钟频率始终为 CPU 频率的 1/2。本文主要介绍 Zynq 芯片 CPU 私有定时器的工作特性&#xff0c;以及私有定时器的基本使…

selenium中,如何使用选择框

html5 一个多选下拉框&#xff0c;没有默认选 一个单选下拉狂&#xff0c;默认“张桐桐” <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>选择框</title> </head> <body><l…

我是大学生,应该选系统运维方向,还是web开发方向?

选择系统运维方向还是Web开发方向取决于你的兴趣、职业目标和个人技能。以下是对这两个方向的详细对比和建议&#xff0c;帮助你做出更明智的选择 双方比较 &#x1f926;‍♀️系统运维方向 优点&#xff1a; 稳定性&#xff1a;系统运维工作通常比较稳定&#xff0c;许多…