跟我学: 使用 fireasy 搭建 asp.net core 项目系列之一 —— 开篇
?? 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 项目系列之一 —— 开篇的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SuperSocket 2.0 Prev
- 下一篇: dotnet pack 打包文件版本号引