【亲测免费】 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 应用。
GLM-5智谱 AI 正式发布 GLM-5,旨在应对复杂系统工程和长时域智能体任务。Jinja00
LongCat-AudioDiT-1BLongCat-AudioDiT 是一款基于扩散模型的文本转语音(TTS)模型,代表了当前该领域的最高水平(SOTA),它直接在波形潜空间中进行操作。00
jiuwenclawJiuwenClaw 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。Python0245- QQwen3.5-397B-A17BQwen3.5 实现了重大飞跃,整合了多模态学习、架构效率、强化学习规模以及全球可访问性等方面的突破性进展,旨在为开发者和企业赋予前所未有的能力与效率。Jinja00
AtomGit城市坐标计划AtomGit 城市坐标计划开启!让开源有坐标,让城市有星火。致力于与城市合伙人共同构建并长期运营一个健康、活跃的本地开发者生态。01
HivisionIDPhotos⚡️HivisionIDPhotos: a lightweight and efficient AI ID photos tools. 一个轻量级的AI证件照制作算法。Python05