您的位置:

全面了解Furion:一个集成了ASP.NET Core技术栈的全能编程框架

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应用程序开发环境,是现代软件开发的不二之选,值得开发者们进一步的学习和使用。