Skip to main content
net8.0

Furion 框架加密模块。

Published
Jun 29, 2023
3y ago
Total Downloads
8.8K
8,806

Install

dotnet add package Furion.Encryption --version 5.0.0-preview.1.20230630.1
ProductVersions
.NET
net8.0

README

先知

一个应用程序框架,您可以将它集成到任何 .NET/C# 应用程序中。


开发背景

当前的 Furion v4 版本已经变得成熟且稳定,但仍存在以下问题:

  • 早期开发进展迅速,很多代码存在仓促上线的情况,缺乏充分思考和考虑
  • 所有模块都包含在一个项目中,无法按需加载和安装
  • 过度使用静态类和静态内存存储,不利于进行单元测试和数据隔离
  • 对于 .NET Core 的掌握程度有限,导致历史代码臃肿且高度耦合
  • 代码架构和设计模式缺乏统一性,可以说是一个杂烩
  • 在早期对用户需求掌握不足,导致后期不断打补丁来进行改进,稍有改动就可能引发破坏性的修改
  • 模块、类型、属性、方法、属性等命名混乱,很难从字面上理解其功能含义
  • 框架示例混乱,用户只能自行摸索最佳实践
  • 虽有单元测试,但是非常混乱

框架技术

Furion v5 版本采用 C# 12 和 .NET 8 进行开发。

开发指导

  • 实现完全无第三方依赖(除微软官方提供外)
  • 实现彻底模块化,每个模块都是独立的项目
  • 每个模块的单元测试覆盖率要达到 92%以上
  • 确保每个类型、属性、字段、方法都有详细的注释
  • 尽可能避免使用静态内存存储
  • 所有模块都采用上下文和构建器模式进行设计
  • 所有模块都采用依赖注入/控制反转的设计模式
  • 尽可能为每个模块提供看板功能
  • 提供所有模块最佳实践示例

模块状态

模块名称 状态 单元测试 文档
Furion.Core ✅ ✅ ⚠️
Furion.DependencyInjection ✅ ✅ ⚠️
Furion.DependencyInjection.Named ✅ ✅ ⚠️
Furion.Component.AspNetCore ✅ ✅ ⚠️
Furion.Component ✅ ✅ ⚠️
Furion.Component.AspNetCore ✅ ✅ ⚠️
Furion.Component.Hosting ✅ ✅ ⚠️
Furion.Configuration ✅ ✅ ⚠️
Furion.Configuration.ManifestResource ⏳ ⏳ ⚠️

状态说明

图标 描述
⚠️ 待定
⏳ 进行中
✅ 完成
💔 随时抛弃

Changes from Previous Version

No structural changes between v5.0.0-preview.1.20230621.8 and v5.0.0-preview.1.20230630.1.

Adoption Assessment

Assess this package against its supported frameworks, license, maintenance signals and dependency graph before making it a project standard.

This version is marked prerelease. Validate its API and upgrade path before production use.Compatibility metadata lists 1 target framework; confirm the exact target used by your application.

Related Guides & Workflows

Learn how to evaluate, integrate, or audit this package in your .NET project.