定義
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訪問綜合數據,路徑訪問情況,域名等!