Furion是一个集成了ASP.NET Core技术栈的全能编程框架。它拥有快速开发框架、高效数据访问框架、自动化测试框架、微服务框架等全面而且高度集成的功能,帮助开发人员快速构建高性能的Web应用程序并生产快速。
一、快速开发框架
Furion拥有一套独特的项目结构和开发方式,能够提高团队的开发效率和软件质量。通过快速实现模块化和面向服务的编程模式,可以快速构建出稳定可靠的Web应用程序。
Furion还包含了大量开箱即用的功能模块,如集成了自动化文档、接口测试、权限管理、日志记录等模块,极大地简化了开发人员的工作量。此外,Furion还支持跨平台开发,并内置了多个常用的UI组件和样式库,方便独立开发或用于企业级应用。
public abstract class AppService { protected IHttpContextAccessor _httpContextAccessor; protected FurionDbContextBase DbContext { get => UnitOfWork.GetDbContext(); } public TDbContext GetUnitOfWork () where TDbContext : DbContext { return UnitOfWork.GetDbContext (); } /// /// 构造函数 /// public AppService() { _httpContextAccessor = App.GetService(); } }
二、高效数据访问框架
Furion的数据访问框架基于EF Core和Dapper,提供了一系列高效的操作方法和通用的仓储接口,以及简便的数据映射和查询方法,可以快速完成数据库访问和数据操作。
除此之外,Furion还支持多种数据库类型(如SQL Server、MySQL、Oracle等),并提供了多种数据库操作方式(如ORM或Dapper),可以灵活应对不同的数据访问需求。Furion还内置了多种数据访问工具,并为开发人员提供了代码示例和完整的文档,方便快速学习和使用。
var result = await Db.ClickHouse .Select .From() .InnerJoin ((o, i) => o.OrderNo == i.OrderNo && i.IsCompleted) .Where (o => o.OrderNo == orderNo) .GroupBy (i => i.ChannelNo) .Having (i => i.ChannelNo % 2 == 0) .OrderByDescending (i => i.OrdersCount) .ToListAsync<(Order, Info)>();
三、自动化测试框架
Furion的自动化测试框架支持多种测试场景和用例,如单元测试、接口测试、集成测试和UI测试等,可以提高软件质量和功能测试效率。
Furion的自动化测试框架基于xUnit和Selenium,可以构建出稳定、高效的测试用例,并且提供了少量的编写代码就可以轻松完成测试,大量提高了测试效率。除此之外,Furion还支持多种测试报告和日志记录方式,方便统一管理和维护测试用例和测试结果。
public class TestController : UnitOfWorkApiController { [HttpGet("{id}")] public Book Get(long id) { return GetService().Get(id); } [HttpPost("Add")] public int Add(Book entity) { return GetService ().Add(entity); } [HttpPost("Update")] public void Update(Book entity) { GetService ().Update(entity); } [HttpPost("Delete/{id}")] public void Delete(long id) { GetService ().Delete(id); } }
四、微服务框架
Furion的微服务框架基于RESTful API和RPC(Remote Procedure Call),包含了服务发现、配置中心、负载均衡等功能,并且支持多种协议(如gRPC、Thrift等)和服务间通信方式,可以帮助开发人员构建稳定、高效的分布式系统。
Furion的微服务框架还集成了多种常用的微服务组件(如ApiGetway、Spring-Cloud等),可以更加方便地搭建和管理多个微服务系统。同时,Furion还提供了多种部署方案和工具,如Docker、Kubernetes等,方便开发人员高效地部署和管理多个微服务。
var builder = new SilkyWebHostBuilder() .UseSilky(d => { d.UseZooKeeper(Configuration.GetSection("Silky:ZooKeeper")); d.UseDiscovery(); d.UseRpcCommand(); d.UseCaching(); }); var host = builder.Build(); host.MapTcpService(); await host.RunAsync();
五、总结
通过本文的介绍,相信读者对Furion这个全能编程框架已经有了深刻的认识。Furion以其强大的功能、全面的支持、易用的编程方式和丰富的生态,为开发人员提供了高效、可靠的Web应用程序开发环境,是现代软件开发的不二之选,值得开发者们进一步的学习和使用。