定义
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访问综合数据,路径访问情况,域名等!