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

大家好,我是老张的哲学,下周要放假了,加班了好几天,突然闲了一会儿,整理下我的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读写分离结合的项目,简单尝试事件溯源。

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

这个是网友提供的

项目地址: 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 项目

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

abpframework / abp

模块化,组件化的开发,是一个很丰富的思路,但是在丰富的设计理念中也是充斥着小小的问题,不多做评价,比如某些广告。

未完待续

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

原文地址:https://www.cnblogs.com/laozhang-is-phi/p/12188708.html

时间: 2024-11-01 11:56:56

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

IOS开发中 MJExtension json转模型的轻量级框架的使用

这边主要的一个示例是将一个从web上面取到的json字符窜转化成model的一个流程,开始集成吧. 1)下载解压 2)添加到新的项目中 3)导入头文件后,开始使用这个文件,这边是从web上面取得的一个数据,直接映射成一个model对象 这里只是其中的一个使用方法,更多的方法可以查看其下载文件中的main方便中的更加详细的调用 . ////  main.m//  字典与模型的互转////  Created by MJ Lee on 14-5-21.//  Copyright (c) 2014年 i

无代码软件开发数字输入框

腾讯课堂搜"尚识"在线学习 无代码软件开发中需进行数字输入时,使用数字输入框元件,输入的值存在元件的变量"value"值中,输入框可以修改默认样式也可以放输入提示信息及添加限制输入长度等操作,完整操作演示如下:选中拖放---运行测试---其他设定 主要处理步骤:拖放数字输入元件到开发区本地浏览器测试数字输入样式类属性设定设定提示信息最终效果本地测试 和其他所有显示元件一样,默认样式可以用样式属性或样式类属性进行重新定义,对默认的样式也可以在项目样式文件中查看修改.

无代码软件开发不生成对象

腾讯课堂搜"尚识"在线学习 无代码软件开发中,如果运行时默认不需要生成所开发的某些对象,可以直接将对象元件去掉"一直生成"的功能勾选,处理过程完整演示如下:选中对象---右键去掉勾选---保存刷新 主要步骤是右键单击处理对象元件一些设定内容:所有对象默认是直接生成的默认勾选了"一直生成"选项点击后去掉勾选不勾选状态保存刷新项目,运行后不显示对象 "一直生成"在开发中默认是勾选的,如果是显示类的元件,则显示元件运行时就是可见的.

五年干货分享!前端开发中最常用的JS代码片段

很多网友私信我,说学到js就开始卡壳了,甚至初略的看了一下js,就跳过开始学习框架之类的.这里要提醒你,js是前端的重中之重,如果你忽视了,后果不堪设想! 学好,并熟练的运用这门编程语言真的很难吗?本篇文章为大家总结了一些前端开发中最常用的JS代码片段,希望能对大家的学习以及工作上都能有所帮助,有所收获. HTML5 DOM 选择器 javascript 代码 // querySelector() 返回匹配到的第一个元素 var item = document.querySelector('.i

iOS开发中一些有用的小代码

1.判断邮箱格式是否正确的代码: //利用正则表达式验证 -(BOOL)isValidateEmail:(NSString *)email { NSString *emailRegex = @"[A-Z0-9a-z._%+-][email protected][A-Za-z0-9.-]+\\.[A-Za-z]{2,4}"; NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES%@&qu

完整java开发中JDBC连接数据库代码和步骤

完整java开发中JDBC连接数据库代码和步骤 JDBC连接数据库 •创建一个以JDBC连接数据库的程序,包含7个步骤: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过java.lang.Class类的静态方法forName(String  className)实现. 例如: try{ //加载MySql的驱动类 Class.forName("com.mysql.jdbc.Driver") ; }catch(Class

软件开发中的自测及C代码示例

在软件开发中,程序自测是一个永远都绕不开的话题.很多开发人员以写出有难度的代码为荣,但却不重视对自己编写的代码进行测试,这导致了最终到达客户手中的产品质量不高,bug频发,损害了公司的形象.对于一个开发人员来说,我们应该将开发和自测置于同等重要的地位,我们花在自测上的时间要不比开发少.能否对自己编写的代码进行充分的自测也是检验一个开发人员水平高低的标准之一. 自测方法 根据所编写的程序的特点,自测方法大致有如下几种: 第一种,利用模拟工具进行自测.这种方法适用于需要其他模块(尚不具备)发过来的消

Android开发——《第一行代码》自学中

大学时候学过C++,Java,算法,数据结构以及其他很多东西,但都学的不精.就要毕业照工作了,总要专注于一门技术,于是开始学安卓. 开发环境是在慕课网下的eclipse. <第一行代码>这本书我也才只看了不到一半,学到第五章广播,但犯过很多错误,抛出来嘲笑下以前的自己,大家引以为戒. 1 有安卓手机就不要用模拟器 由于各种教程都在使用安卓模拟器,导致我一开始学习也在用.但这个实在是很麻烦,我的电脑本来就是渣配置,模拟器开机就要等一年,开机后点个按钮都要等半天.而且经常卡的我的eclipse都不

WebApp 开发中常用的代码片段

其实这里面的多数都是 iOS 上面的代码.其他平台的就没有去验证了. HTML, 从HTML文档的开始到结束排列: <meta name=”viewport” content=”width=device-width, initial-scale=1.0″/> 让内容的宽度自适应为设备的宽度, 在做Mobile Web时必须加的一条 <meta name=”format-detection” content=”telephone=no”]]> 禁用手机号码链接(for iPhone)