内容简介:Fur 是 .NET 5 平台下企业应用开发最佳实践框架。 序言 无私奉献不是天方夜谭,有时候,我们也可以做到。 名字的由来 故事是这样子的: 起初,想开发一个极易入门、极易维护的框架,开发理念为:一切从简,只为了...
Fur
是 .NET 5
平台下企业应用开发最佳实践框架。
序言
无私奉献不是天方夜谭,有时候,我们也可以做到。
名字的由来
故事是这样子的:
起初,想开发一个极易入门、极易维护的框架,开发理念为:一切从简,只为了更懒。
所以自然而然想到了:Lazier,也就是 更懒 的意思。但是 更懒 和 更烂 读音相近且中文名没有特色,对此换名问题我苦恼了好几天。
刚好有一次我在博客园中帮一个博友解答问题,解决后博友赞扬我对 .NET Core 颇有了解,我就顺嘴回答了一句:“略懂皮毛”。
就这时,脑瓜子灵机一动,干脆起名为:“皮毛”?英文单词 “Fur [fɜː(r)]”,单词又短而且中文读音既俗气又顺口。
所以,Fur 就诞生了。
之后就有了 “小僧不才,略懂皮毛(Fur)。” 广告语 和 furos.cn 域名。
关于 LOGO
Fur LOGO 设计由 F U R 三个单词组成:
我相信很多人看到 Fur 的 LOGO 时都会问:“为什么选择奶牛?”,因为 那些年吹过的牛逼都实现了 。
之所以选择 奶牛 是因为 牛 具有脚踏实地,任劳任怨的做事风格,同时 奶牛 意味着丰富的营养价值,正如 Fur 所能带给你的。
开源地址
- Gitee:https://gitee.com/monksoul/Fur
- GitHub:https://github.com/monksoul/Fur
- Docker:https://hub.docker.com/r/monksoul/fur
- Nuget:https://www.nuget.org/packages/Fur
框架特点
- 全新面貌:基于
.NET 5
平台,没有历史包袱 - 极易入门:只需要一个
Inject()
即可完成配置 - 极速开发:内置丰富的企业应用开发功能
- 极少依赖:框架只依赖三个第三方包
- 极其灵活:轻松面对多变复杂的需求
- 极易维护:采用独特的架构思想,只为长久维护设计
- 完整文档:提供完善的开发文档
功能模块
框架依赖
Fur 为了追求极速入门,极致性能,尽可能的不使用或减少第三方依赖。目前 Fur 仅集成了以下三个依赖:
- Mapster:比
AutoMapper
还高性能的对象映射 - MiniProfiler:性能分析和监听必备
- Swashbuckle:
Swagger
接口文档
麻雀虽小五脏俱全。Fur 即使只集成了这三个依赖,但是主流的 依赖注入/控制反转,AOP 面向切面编程,事件总线,数据验证,数据库操作 等等一个都不少。
环境要求
- Visual Studio 2019 Preview 16.8 +
- .NET 5 SDK +
- .Net Standard 2.1 +
支持平台
- 运行环境
- Windows
- Linux
- MacOS
- Docker/K8S/K3S/Rancher
- Xamarin/MAUI
- 数据库
- SqlServer
- Sqlite
- Azure Cosmos
- MySql
- PostgreSQL
- InMemoryDatabase
- Oracle
- Firebird
- 达梦数据库
- 应用部署
- Kestrel
- Nginx
- Jexus
- IIS
- Apache
- PM2
- Supervisor
- 单文件
- 容器(Docker/K8S/K3S/Rancher)
文档地址
目前文档正在逐步完善中。
开源周报
Stars:1.4k
开发团队:22 人
代码提交:1355 次代码提交
贡献者:32 个贡献者
Issues:完成 137 个,进行中 2 个
PR:合并 54 个,关闭 16 个
发布版本:100 次
文档:完成 59 篇
Nuget 下载:6.33k
QQ群:505 + 247 人
线上直播:27 次
本周更新
- 新特性
- [新增] 网络请求 `RemoteRequest` 组件 [#I1YYWD](https://gitee.com/monksoul/Fur/issues/I1YYWD)
- [新增] `.AddInjectBase()` 注入,只包含基础服务注入
- [新增] 所有服务都支持 `IServiceCollection` 和 `IMvcBuilder` 注入
- [新增] 抛异常状态码设置功能 `StatusCode`
- [新增] `Swagger` 序列化支持 `Pascal` 属性命名方式
- [新增] `[NonUnify]` 特性,支持配置 `Aciton` 跳过规范化结果处理
- 突破性变化
- [更新] 所有的包为 `.NET 5` 正式版
- [调整] `[DataValidation]` 命名空间为 `System.ComponentModel.DataAnnotations`,保持和微软一致
- [调整] `[NonValidation]` 命名空间为 `Microsoft.AspNetCore.Mvc`,保持和微软一致
- [调整] `[ApiDescriptionSettings]` 命名空间为 `Microsoft.AspNetCore.Mvc`,保持和微软一致
- [调整] `[ApiSeat]` 命名空间为 `Microsoft.AspNetCore.Mvc`,保持和微软一致
- [调整] `[UnifyResult]` 命名空间为 `Microsoft.AspNetCore.Mvc`,保持和微软一致
- 问题修复
- [修复] 工作单元 `[UnitOfWork]` 并发下异常 bug
- [修复] 动态 WebApi 全局配置 `KeepVerb` 无效 bug
- [修复] 动态 WebApi 指定特定后缀并未移除 bug
- [修复] `SqlProxy` 代理异步处理 bug
- [修复] 数据库类型 `Datetime` 转 `DateTimeOffset` bug
- [修复] 属性首字母大小写序列化不匹配出现 `null` bug
- [修复] 对象序列化中文出现乱码 bug
- [修复] 默认序列化配置无效 bug
- [修复] 数据库非依赖注入方式提交无效 bug
- [修复] 应用程序池提交所有 `DbContext` 空异常 bug
- [修复] `Saas` 多租户 `Tenant` 类型字符串属性在 `MySql` 数据库下出现 `longtext` 类型 bug
- [修复] 规范化结果指定`[ProduceResponeseType]` 配置无效 bug [#I24B8P](https://gitee.com/monksoul/Fur/issues/I24B8P)
- [修复] `Mvc` 自动验证字符串空值 bug [#I24M2T](https://gitee.com/monksoul/Fur/issues/I24M2T)
- [修复] 枚举注释被覆盖 bug [#I24N6J](https://gitee.com/monksoul/Fur/issues/I24N6J)
- [修复] 忽略规范化结果无效bug [#I24B8P](https://gitee.com/monksoul/Fur/issues/I24B8P)
- [修复] `Swagger` 默认 `ContentType` 不是 `applicaiton/json` bug [#I24F3U](https://gitee.com/monksoul/Fur/issues/I24F3U)
- [修复] 内置 `System.Text.Json` 和 `Newtonsoft.Json` 冲突 bug [#I24F3U](https://gitee.com/monksoul/Fur/issues/I24F3U)
- 其他更改
- [调整] `Fur` 框架域名为:[https://furos.cn](https://furos.cn)
- [调整] 仓储 `FromSqlRaw` 和 `FromSqlInterpolated` 接口位置
- [优化] 数据加解密性能,[#PR70](https://gitee.com/monksoul/Fur/pulls/70)
- [关闭] [#I24ALB](https://gitee.com/monksoul/Fur/issues/I24ALB)
- 文档变化
- [更新] README.md、框架介绍、数据库上下文、配置选项、多租户、跨域文档
Fur 遵循 Apache-2.0 开源协议,欢迎大家提交 PR 或 Issue。喜欢可以给个 Star。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- PHP 框架 CodeIgniter 4.0 正式版发布了!
- [译] PHP 框架 CodeIgniter 4 正式版发布了
- Angular 4.2.0 正式版发布,Web 前端框架
- QMUI Android UI 框架发布 1.0 正式版
- Angular 5.1.0 正式版发布,Web 前端框架
- WebMIS 1.0.0 正式版,全栈开发基础框架
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。