【亲测免费】 OSharp 快速开发框架使用教程
1. 项目介绍
OSharp 是一个基于 .Net 6.0 的快速开发框架,旨在简化 AspNetCore 的配置、依赖注入、日志、缓存、实体框架、Mvc(WebApi)、身份认证、功能权限、数据权限等模块的封装,并规范了一套业务实现的代码结构与操作流程,使 .Net 框架更易于应用到实际项目开发中。
主要特性
- 模块化的组件设计:框架设计了一个模块(Pack)的系统,所有实现了模块基类(OsharpPack)的类都视为一个独立的模块。
- 自动化的依赖注入机制:通过反射检索程序集的方式,自动初始化依赖注入的 ServiceCollection。
- UnitOfWork-Repository 模式:使用 UnitOfWork 模式管理 DbContext 的创建,使同上下文类型同数据库连接字符串的上下文使用相同 DbConnection 对象来创建。
- 基于 AspNetCore 的 Identity 的身份认证设计:使用 AspNetCore 原生的用户身份认证框架,身份认证相关操作统一使用 UserManager 和 RoleManager。
- 功能权限与数据权限的授权体系:从底层开始,自动收集系统的所有业务点(IFunction)和数据实体(IEntityInfo),用于对系统的功能权限、数据权限、数据缓存、操作审计等提供数据支持。
2. 项目快速启动
安装 .NET SDK
首先,确保你已经安装了 .NET 6.0 SDK。你可以从 .NET 官方网站 下载并安装。
创建新项目
使用 .NET CLI 创建一个新的 OSharp 项目:
dotnet new osharp -n MyOSharpApp
cd MyOSharpApp
配置数据库
在 appsettings.json 文件中配置数据库连接字符串:
{
"ConnectionStrings": {
"Default": "Server=localhost;Database=MyOSharpDB;User Id=sa;Password=your_password;"
}
}
运行项目
使用以下命令运行项目:
dotnet run
项目启动后,你可以在浏览器中访问 http://localhost:5000 查看应用。
3. 应用案例和最佳实践
案例一:企业内部管理系统
OSharp 框架可以用于构建企业内部管理系统,包括员工管理、权限管理、日志管理等功能。通过 OSharp 的模块化设计,可以轻松扩展和定制系统功能。
案例二:电商后台管理系统
在电商后台管理系统中,OSharp 可以帮助开发者快速实现商品管理、订单管理、用户管理等功能。OSharp 的自动化依赖注入机制和 UnitOfWork-Repository 模式使得数据操作更加高效和安全。
最佳实践
- 模块化开发:将系统功能划分为多个模块,每个模块独立开发和测试,便于维护和扩展。
- 权限管理:利用 OSharp 的功能权限与数据权限的授权体系,确保系统的安全性和可控性。
- 日志管理:集成 OSharp 的日志组件,记录系统操作日志,便于问题排查和审计。
4. 典型生态项目
OSharp.AspNetCore
OSharp.AspNetCore 是 OSharp 框架的核心组件之一,提供了 AspNetCore 的服务端功能的封装,包括配置、依赖注入、日志、缓存等模块。
OSharp.EntityFrameworkCore
OSharp.EntityFrameworkCore 是 OSharp 框架的数据访问组件,封装了 EntityFrameworkCore 数据访问功能的实现,支持多种数据库,如 SqlServer、MySql、Sqlite 等。
OSharp.Swagger
OSharp.Swagger 是 OSharp 框架的 API 文档生成组件,基于 Swagger 生成 MVC 的 Action 的 API 测试接口信息,方便前后端开发人员的数据接口对接工作。
通过以上模块的组合使用,开发者可以快速构建出功能完善、性能优越的 .Net 应用。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0191
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0117
Step-3.7-FlashStep-3.7-Flash是一个拥有 1980 亿参数的稀疏混合专家(MoE)视觉语言模型,由 1960 亿参数的语言主干网络和 18 亿参数的视觉编码器组合而成,具备原生图像理解能力。Python00
JoyAI-EchoJoyAI-Echo,这是一个独立的、仅用于推理的版本,旨在实现分钟级多镜头音视频生成。它采用了经过蒸馏的DMD生成器、配对的跨模态记忆以及故事级别的一致性。其性能的核心在于,一个跨模态视听记忆库能够在长达五分钟的视频中保持角色外观和语音音色的一致性。同时,一个训练后处理流程将基于记忆的强化学习与分布匹配蒸馏相结合,实现了7.5倍的速度提升,显著增强了视觉质量和对齐效果。00
omega-aiOmega-AI:基于java打造的深度学习框架,帮助你快速搭建神经网络,实现模型推理与训练,引擎支持自动求导,多线程与GPU运算,GPU支持CUDA,CUDNN。Java04
llm-universe本项目是一个面向小白开发者的大模型应用开发教程,在线阅读地址:https://datawhalechina.github.io/llm-universe/Jupyter Notebook09