从壹开始【学代码】|| 我开发中的用到的几个框架

本文梯子

  • 一、单层小Demo,开发小页面利器

  • 二、通用仓储三层模型,简单又封装性好

  • 三、通用权限框架开发全家桶,开箱即用服务子项目

  • 四、Blog.Core去Service层版本

  • 五、DDD-Lite 思想进行开发项目

  • 六、领域驱动设计,半落地项目

  • 七、企业级论坛网站,高可用, 功能丰富

  • 八、雏形微服务(网友提供)

  • 九、ASP.NET Core Reference Appl...

  • 十、ABP (vnext)项目

  • 未完待续

 

正文

大家好,我是老张的哲学,下周要放假了,加班了好几天,突然闲了一会儿,整理下我的Github,没想到,这一年我已经提交了32个项目了,当然还有几个不是开源的,突发奇想,给大家列出来,春节可以简单翻开看看,俗话说:三人行,必有我师,择其善者而从之,其不善者而改之。

  

一、单层小Demo,开发小页面利器

项目地址:NetCore-Sugar-Demo

欢迎程度:7 Star

技术栈:ASP.NET Core API、配合使用Sqlsugar的ORM

总结:

这种开发是最简单的,直接页面内写逻辑,简单的通过泛型仓储基类控制持久化,还可以支持CodeFirst,简单精悍,没有多余的东西,通过 new 实例化对象,没有依赖注入,动态代理那一堆东西,对于想快速开发一些小的Web页面,比如做个小Demo,或者小白入门NetCore+ORM的,是一个不错的选择。

  

二、通用仓储三层模型,简单又封装性好

项目地址:Blog-EFCore-Sqlite

欢迎程度:3 Star

技术栈:ASP.NET Core API、EFCore、原生依赖注入、面向接口、ViewModel、UnitOfWork

总结:

如果你想要一个操作和开发简单的,又有一定的封装效果,这个框架无疑是最好的,除了仓储三层(和普通三层架构不一样)以外,还配合了最新最热的技术——EFCore和DI、中间件,接口和工作单元,当然也支持Seed种子数据,特别适用于那些已经掌握了学会了ASP.NETCore的,但是又想进一步掌握新知识点的小伙伴使用,通过仓储三层的限制,可以锻炼自己的封装能力。

  

三、通用权限框架开发全家桶,开箱即用服务子项目

项目地址:Blog.Core

欢迎程度:1.4k Star

技术栈:ASP.NET Core API、automapper、repository、t4、 sqlsugarcore、 dto、 redis、aop 、swagger、 cors、 jwt 、autofac、 dependency-injection、 rbac 、rbac-roles、UnitOfWork、identityserver4等 ASP.NET Core全家桶

总结:

BCVP(Blog.Core&Vue Project)开箱即用的企业级前后端分离【 .NET Core3.1 Api + Vue 2.x + RBAC】权限框架。这个框架主要就是ASP.NET Core开发中用到的全家桶都会使用到,除了基本知识,更有五种日志文件,供审计,直接ORM的扩展,多库与事务操作,可以作为服务器的子项目快速使用。特别适用于已经学会了ASP.NET Core,并且自己会搭建一个框架,想在公司内使用一个简单的服务级别的项目,支持多库和权限控制,可以尝试本项目。

  

四、Blog.Core去Service层版本

项目地址:准备开源

欢迎程度:0

技术栈:基本是上边Blog.Core项目中,去掉了 Service 和 IService 层版本。

总结:

这个是我半年前做一个私活的时候,做的一个学生成绩管理系统项目,所以害怕有隐私信息,就打算先看看,再开源出来,过两天开源,如果想要的,留言,私信给我都行,没问题,我就开源出去。

 

 

五、DDD-Lite 思想进行开发项目

项目地址:未开源

欢迎程度:0

技术栈:仓储、DDD-Lite、ASP.Net MVC、EFCore、Autofac、组件开发

总结:

这是我第一次尝试使用DDD,是两年前,发现失败了,毕竟是闭门造车,当时还没有用Github,也不太会找别人的好项目,所以充其量就是一个挂着DDD影子的项目,因为是公司的电商项目,就不开源了。

  

六、领域驱动设计,半落地项目

项目地址: ChristDDD

欢迎程度:336 Star

技术栈:ddd、aspnet-core、cqrs、asp-net-core-mvc、event-sourcing、automapper、ef-core、ddd-cqrs、mediatr

总结:

这是我借鉴了国外一个大佬的项目,看了很多,感觉还是这个靠谱,一个基于 DDD 领域驱动设计 + CQRS 命令查询职责分离 的 .net core 框架,不过很遗憾,没有落地成功,我在此基础上,做了修改和封装,然后也支持了IdentityServer4认证,下一步打算用RebitMQ来替换掉MediaR,实现消息。如果面向对象开发已经满足不了你,中间件,DI、组件开发已经烂熟于心,设计模式至少会三种以上,想学习新的设计思想,那可以尝试看看这个,一个DDD与CQRS读写分离结合的项目,简单尝试事件溯源。

 

七、企业级论坛网站,高可用, 功能丰富

原作者: dotnetclub-net / dotnetclub

欢迎程度:192 Star

技术栈:.net core mvc、docker、azure、efcore、原生DI、丰富的中间件设计、IdentityServer4、多种数据库、支持数据消息导入等等

总结:

这个是陈老师主导创建的项目,我看了源码,真的很漂亮,特别适用于,平时已经学会了NetCore的,想看看别人优秀的开发流程,设计思路,代码整洁之道,丰富的测试用例的,这个是不二选择,内容也涵盖了平时开发中的常见内容,值得一试。

 

八、雏形微服务(网友提供)

这个是网友提供的

项目地址: MsSystem-BPM-ServiceAndWebApps

原作者:MsSystem-BPM-ServiceAndWebApps

欢迎程度:225+6 Star

技术栈:.net core 面向SOA服务的 权限、工作流、OA系统 本项目只适用于学习研究

总结:

这是一个比较简单的一个微服务的版本案例,适用于ASP.NETCore 已经完全学会,并且对服务化开发已经有了一定的理解,可以自定义组件的话,可以简单看看这个框架,不仅有工作流,还是一个SOA的项目。

 

 

 

 

九、ASP.NET Core Reference Application(微软项目)

原作者:eShopOnWeb

欢迎程度:3.8k Star

技术栈:.net core 微服务的、Docker、Azure、EFCore、心跳检查、Ardalis.GuardClauses守卫组件、MediatR、CodeAnalysis、Swagger

总结

这个项目的内容可能不是最高最丰富的,但是却是一个比较好的学习Docker和Azure的案例,值得学习。

  

十、ABP (vnext)项目

这个我就不过多介绍了,我都没看过,上边八个我至少都看过,ABP现在好像是挺火的。

abpframework / abp

模块化,组件化的开发,是一个很丰富的思路,但是在丰富的设计理念中也是充斥着小小的问题,不多做评价,不过也值得一个尝试,适用于那些基础知识已经完全掌握,而且也对ddd领域驱动设计有一定的理解,特别是对对模块化,服务开发,甚至微服务有想了解的小伙伴可以看一看,可能我年后会简单说一下。

  

未完待续

你如果有更好的ASP.NET Core项目推荐,可以评论留言哟。

一起学习,一起进步 QQ群:867095512

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

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

相关文章

android 按钮 菜单,(期末要考啊)Android的menu(菜单)按钮的使用

(期末要考啊)Android的menu(菜单)按钮的使用安卓Android的菜单按钮使用xml的方式创建菜单项在res下的menu目录下新建一个main.xml文件,以menu为根节点,添加一个item就是菜单项android:id"id/action_go"android:orderInCategory"1"an…

二维差分

给定原矩阵a[i,j],构造差分矩阵b[i,j],使得a[][]是b[][]的二维前缀和 核心操作: 给以(x1,y1)为左上角,(x2,y2)为右下角的子矩阵中的所有数a[i][j]全部都加上C b[x1,y1]C; b[x1,y21]-C; b[x21,y1]-C; b[x21,y21]C; 例题: 输入一个n行m列的整数矩阵&…

C#的未来:简化参数空值验证

乍一看,提案#2145 似乎是 C# 8 可空引用类型特性的逻辑扩展。其基本思想是,开发人员不需要再显式地向接受非空参数的方法添加参数空值检查。然而,人们对于这个特性的争议很大。本文试图说明这些选项以及它们的利弊,以便读者能够得…

android一键截图代码,偷偷告诉你ADB命令葵花宝典【一键截图和录屏】

先导预告作为一名测试工程师,每天可能都会面临从不同的设备导出截图或视频的工作,有些可能是bug截图或bug回放视频,有些截图可能是提供给PM或UI验收等等。 常规操作是iOS设备可以借助于iTools等工具导出;而安卓设备可能需要从设备…

10进制转换成其他进制-短除法

将10进制下的n转换成b进制下的数。 代码如下: char get(int x) {if (x<9) return x0;return x-10A; }string base(int n,int b) {string num;while(n) num get(n%b),n/b;reverse(num.begin(),num.end());return num; }例题&#xff1a; 回文数是指数字从前往后读和从后往…

【C# 调用 Go 语言】0x1 Hello Golang

C# 和 Golang 都不是世界上最好的语言。在不同的业务场景下&#xff0c;C# 和 Golang 各有所长。如果要编写一个网络程序&#xff0c;显然 Golang 更擅长&#xff0c;而如果要编写一个桌面 GUI 程序&#xff0c;那么 C# 简直不要太爽。我们完全可以将两者用在同一个项目中&…

android仿支付宝弹窗,【转】MUI自定义底部弹窗自带遮罩层仿支付宝支付弹窗

[Asm] 纯文本查看 复制代码html,body{height: 100%;}.fr-tc{/* 控制弹窗高度 */height: 40%;}.fr-div-w{border-radius: 10px 10px 0px 0px;background-color: #FFFFFF;height: 100%;padding: 15px;}.fr-btn{display: block;height: 40px;width: 60%;background-color: #14b5ff…

整数二分

整数二分步骤&#xff1a; 1.找一个区间[L,R],使答案一定在这个区间 2.找一个判断条件&#xff0c;使得该判断条件具有二段性(一般具有单调性)&#xff0c;并且答案一定是该二段性的分界点 3.分析终点M在该判断条件下是否成立&#xff0c;如果成立&#xff0c;考虑答案在哪个区…

解惑小微企业信息化系统上云的顾虑

小微企业到目前阶段&#xff0c;一点信息化系统没上的企业很少了&#xff0c;几乎找不到了。为了满足信息化系统异地办公的外网访问需要&#xff0c;在综合考虑硬件成本和运维成本&#xff0c;初期上云☁应该是最经济实惠的方案。信息化和数字化经济发展不仅给商业模式带来变革…

android 运行在ui县城,Android基础:在UI线程中运行代码

Android基础&#xff1a;在UI线程中运行代码从在UI线程中运行代码的角度来看&#xff0c;在以下方面有什么区别&#xff1a;MainActivity.this.runOnUiThread(new Runnable() {public void run() {Log.d("UI thread", "I am the UI thread");}});或MainAct…

区间合并

区间合并算法&#xff1a; 1.将所有区间按左端点从小到大排序 2.从左到右遍历每个区间 例题&#xff1a; 某校大门外长度为L的马路上有一排树&#xff0c;每两棵相邻的树之间的间隔都是1米。 我们可以把马路看成一个数轴&#xff0c;马路的一端在数轴0的位置&#xff0c;另一端…

云原生时代, 选择.NET Core

在容器、Kubernetes、DevOps&#xff0c;以及微服务等技术的推动下&#xff0c;2020年云原生势不可挡。 .NET Core 也非常契合 云原生对应用运行时的不同需求&#xff0c;.NET Core和kubernetes 同年诞生发展&#xff0c; 2018年kubernetes 已经奠定了在容器编排领域的王者地位…

pm1 android,Android Sensor SDK

Android Sensor SDKStep By Step1.新建工程Android Studio配置将sensoro-sensor-kit.jar包放入道libs文件夹下,然后在当前工程下的build.gradle文件配置项中的dependencies新增内容,&#xff0c;如下compile files(libs/sensoro-sensor-kit.jar)Eclipse配置将sensoro-sensor-ki…

哈希表应用举例

例题&#xff1a; 伊娃喜欢从整个宇宙中收集硬币。 有一天&#xff0c;她去了一家宇宙购物中心购物&#xff0c;结账时可以使用各种硬币付款。 但是&#xff0c;有一个特殊的付款要求&#xff1a;每张帐单&#xff0c;她只能使用恰好两个硬币来准确的支付消费金额。 给定她拥有…

WebApi管理和性能测试工具WebApiBenchmarks

说到WebApi管理和测试工具其实已经非常多的了&#xff0c;Postman、Swagger等在管理和维护上都非常出色&#xff1b;在性能测试方面也有不少的工具如:wrk,bombardier,http_load和ab等等。不过这些工具都具有单一性&#xff0c;管理和维护好的在性能测试上比较低效&#xff0c;对…

android中的shape资源,Android Drawable资源讲解之shape篇

运用好Android的drawable资源&#xff0c;在开发中就可以减少图片的使用量&#xff0c;这样既缩小了app的体积&#xff0c;也省去了设计图片的时间&#xff0c;而且也容易适配不同的屏幕尺寸。今天首先来讲讲shape资源的使用。1. Shape的属性介绍shape共支持四种形状&#xff0…

C++unique函数应用举例

明明想在学校中请一些同学一起做一项问卷调查。 为了实验的客观性&#xff0c;他先用计算机生成了N个1到1000之间的随机整数&#xff0c;对于其中重复的数字&#xff0c;只保留一个&#xff0c;把其余相同的数去掉&#xff0c;不同的数对应着不同的学生的学号。 然后再把这些数…

C# WPF 一个设计界面

微信公众号&#xff1a;Dotnet9&#xff0c;网站&#xff1a;Dotnet9&#xff0c;问题或建议&#xff1a;请网站留言&#xff0c; 如果对您有所帮助&#xff1a;欢迎赞赏。C# WPF 一个设计界面今天正月初三&#xff0c;大家在家呆着挺好&#xff0c;不要忘了自我充电。武汉人民…

android中shape的属性,android中shape的属性

solid&#xff1a;实心&#xff0c;就是填充的意思android:color指定填充的颜色gradient&#xff1a;渐变android:startColor和android:endColor分别为起始和结束颜色&#xff0c;ndroid:angle是渐变角度&#xff0c;必须为45的整数倍。另外渐变默认的模式为android:type”line…

C++to_string应用举例

给定一个非负整数 N&#xff0c;你的任务是计算 N 的所有数字的总和&#xff0c;并以英语输出总和的每个数字。 输入格式 共一行&#xff0c;包含一个整数 N。 输出格式 共一行&#xff0c;用英语输出总和的每个数字&#xff0c;单词之间用空格隔开。 代码如下&#xff1a; …