fireasy 面世都有六个年头了,至今依旧是默默无闻,知道它的人可能仅限于本人朋友圈内的人士。本人也在写一本关于如何使用该框架的书籍,但苦于事务繁忙,至今也才写了一半,可以说最为实用最为核心的部分,仍然还没有写出来。思来想去,还是通过博文这种方式,通过一个实例的讲解,让朋友们对 fireasy 有个了解吧。

首先,得先说说这个fireasy是用来干嘛的。

fireasy 是一个灵活度比较高的开发框架,它秉承灵活、开放的态度,包容万事万物。它包括 Common、Data、Entity 三个核心类库,集成了 mvc、easyui、redis、mongodb、rabbitmq、nlog、log4net 等框架,使之能够轻松搭建基于 .net framework 或 .net core 的项目。

从面世至今,本人个人及公司的所有项目,均使用 fireasy 进行搭建,可以说无时无刻不在完善和优化。同时呢,fireasy 也发布到了 nuget,对于安装和更新来说绝对是再方便不过了。

在 nuget 里搜索 fireasy 关键词,所有最新的组件都以最新的时间更新于此。

fireasy 是开源的,git 仓库位于 https://github.com/faib920/fireasy2,随它开源的还有一个实例项目zero,https://github.com/faib920/zero,感兴趣的朋友可以前去了解,记得给星哦,希望你随时给本人提出好的建议,如果你和我趣味相投,也欢迎一起维护和完善它。

fireasy 有很多的组件,下面先让大家对它们有个大概的认识。

 一、Fireasy.Common

Fireasy.Common 是通用的组件库,通过它可以实现配置、日志、缓存、消息订阅、AOP、IOC、动态/静态编译、json/xml/binary 序列化、加密解密等。Common 中还提供了大量的扩展方法。

这些组件抽象出来的接口,可由外部的第三方进行适配,比如日志组件,可由 NLog、log4net 等来适配,缓存组件,可由 redis、memcached 等来适配。消息订阅组件可由 redis、rabbitMQ 等来适配,只需实现标准的接口抽象,然后通过配置就可以使用了。

AOP 和动态编译贯穿整个 fireasy,为实体框架层提供了很好的解决方案(后面会介绍),IOC 可以与 .net core 相融合。

二、Fireasy.Data

Fireasy.Data 是数据层组件库,IDatabase 为抽象出来的数据库操作接口,通过它可以实现数据库的增、删、改、查等操作,它是通过 IProvider 进行扩展的,目前支持的数据库类型有 sqlite、sqlserver、mysql、oracle、firebird、postgresql 等,有能力的朋友可以自己去扩展 。同时,还提供了语法、架构、批量插入、自增量、记录包装等插件服务。

三、Fireasy.Data.Entity

顾名思义,即实体框架组件库,与 Entity Framework 比较相似,其 linq 语法支持基本上完全一致,对于用过 Entity Framework 的朋友来说,要上手完全不需要什么学习成本。

使用 Fireasy Entity 较之 Entity Framework 有一些明显的好处,比如接近于原生sql的 Insert、Update、Delete语法,实体的按需更新,Select 里复杂的构造,json序列化时对于延迟加载的处理等等,这些都会在以后的实例中一一讲解。

Entity 组件也是基于灵活的接口配置,比如你要引入 mongodb ,只需要配置 MongoDbProvider 即可,业务层没有任何的改变。

四、Fireasy.Web.Mvc

Fireasy.Web.Mvc 为 asp.net mvc 提供了一些底层的支持,比如 json 模型的绑定和序列化、异常处理等等。

五、Fireasy.Web.EasyUI

Fireasy.Web.EasyUI 是 easyui 的扩展库,为 IHtmlHelper 添加扩展方法,同时将实体验证的特性附加到 easyui 中。

六、其他

Fireasy.Redis 为redis 的支持类库,引用该类库后,只要完成 redis 的参数配置,就可以在 fireasy 里使用 redis 作为缓存和消息队列了。

Fireasy.NLog 和 fireasy.log4net 分别为 nlog 和 log4net 提供了适配。

Fireasy.RabbitMQ 为 rabbitmq 提供适配,使 fireasy 能够使用 rabbitmq 来处理消息队列。

Fireasy.MongoDB 使 fireasy 能够使用 mongodb,而不需要改动实体模型及业务层。

Fireasy.WebSockets 作为 websocket 通信的组件,借鉴了 singnalR 的思想,使用 handler 来提供方法进行消息交换。

以上就是 fireasy 大家庭中的所有组件,接下来的各篇文章里都会有所提及,对此感兴趣的朋友请随时关注博客的更新。


原文地址:https://www.cnblogs.com/fireasy/p/10880617.html

.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com 

跟我学: 使用 fireasy 搭建 asp.net core 项目系列之一 —— 开篇相关推荐

  1. ASP.NET CORE系列【一】搭建ASP.NET CORE项目

    原文:ASP.NET CORE系列[一]搭建ASP.NET CORE项目 为什么要使用 ASP.NET Core? NET Core 刚发布的时候根据介绍就有点心里痒痒,微软的尿性都懂的,新东西bug ...

  2. 在Linux(Ubuntu)下搭建ASP.NET Core环境并运行 继续跨平台

    最新教程:http://www.cnblogs.com/linezero/p/aspnetcoreubuntu.html 无需安装mono,在Linux(Ubuntu)下搭建ASP.NET Core环 ...

  3. 送福利 | 送书5本《ASP.NET Core项目开发实战入门》带你走进ASP.NET Core开发

    <ASP.NET Core项目开发实战入门>从基础到实际项目开发部署带你走进ASP.NET Core开发. ASP.NET Core项目开发实战入门是基于ASP.NET Core 3.1 ...

  4. 在IIS上部署你的ASP.NET Core项目

    概述 与ASP.NET时代不同,ASP.NET Core不再是由IIS工作进程(w3wp.exe)托管,而是使用自托管Web服务器(Kestrel)运行,IIS则是作为反向代理的角色转发请求到Kest ...

  5. 升级ASP.Net Core项目

    升级完类库项目,第二篇,我们来升级ASP.Net Core项目 修改global.json与project.json 这里可以参照,升级.Net Core RC2的那些事(一) 这里补充一点就是如果你 ...

  6. Asp.Net Core 项目实战之权限管理系统(0) 无中生有

    0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...

  7. 【无私分享:ASP.NET CORE 项目实战】目录索引

    简介 首先,我们的  [无私分享:从入门到精通ASP.NET MVC]   系列已经接近尾声,希望大家在这个过程中学到了一些思路和方法,而不仅仅是源码. 因为是第一次写博客,我感觉还是比较混乱的,其中 ...

  8. 各类最新Asp .Net Core 项目和示例源码

    1.网站地址:http://www.freeboygirl.com 2.网站Asp .Net Core 资料 http://www.freeboygirl.com/blog/tag/asp%20net ...

  9. 在Asp.net core 项目中操作Mysql数据库

    工程环境 : win10+asp.net core 2.1 + vs2017 步骤: 1 在vs中新建asp.net core  项目 2 在Nuget中为项目添加第三方包microsoft.visu ...

最新文章

  1. matlab 取消figure显示时在屏幕最前
  2. ASP.NET 3.5之屠龙刀
  3. SSL certificate problem, verify that the CA cert is OK. Details:
  4. java httpresponse headres属性,Java HttpHeaders.CONTENT_TYPE属性代码示例
  5. php增删改查怎么封装,php增删改查封装方法
  6. alter procedure是什么意思_板上钉钉的意思
  7. linux下配置环境变量方式
  8. Android 热补丁之 Tinker 原理解析
  9. Android的cangoback方法,Android应用开发Android8.0 WebView返回上一层失效(canGoBack返回false问题)解决办法...
  10. 精仿blbl视频播放器源码 cms播放器 支持加视频LOGO
  11. 孙玄吴守星:全方位剖析边缘计算架构设计以及应用实践
  12. mysql创建索引视图_mysql中创建视图、索引
  13. Typora设置高亮
  14. c语言对浮点数截断,C语言中浮点数精度进行截断输出
  15. 编写一个抽象类Shape,声明计算图形面积的抽象方法。再分别定义Shape的子类Circle(圆)和Rectangle(矩形),在两个子类中按照不同图形的面积计算公式,实现Shape类中计算面积的方法
  16. 仿iphone顶部状态栏_无需第三方APP,苹果iPhone手机屏幕录制的方法
  17. VisionPro相机操作类
  18. python入门笔记——面向对象基础1_5(小明爱跑步案例)
  19. 单片机优雅的开发Clion环境搭建
  20. HTML5 2D 游戏开发(一): Snail Bait 简介

热门文章

  1. minecraft服务器_如何启动自己的Minecraft服务器进行多人游戏
  2. 用SmarterFox替换Internet Explorer的“加速器”
  3. 如何将Apple Mail建议用于事件和联系人
  4. vue引入全局less实现全局变量的控制
  5. Linux -sed
  6. twitter storm源码走读(五)
  7. 重载运算符操作_学习
  8. 关于c/c++/obj-c的混合使用 (2010-06-22 10:05:33)
  9. 完美:C# Blazor中显示Markdown并添加代码高亮
  10. 阻止你变现的,从来都不是开源许可证