前沿拓展:
vb.net 數(shù)據(jù)庫(kù)
你是中北軟院的吧,傷不起啊
微軟發(fā)布.NET框架已經(jīng)21年了,現(xiàn)在還是不少企業(yè)的首選開(kāi)發(fā)框架。尤其最近幾年微軟.net全面擁抱linux以及今年即將發(fā)布的.net 6基本支持所有的移動(dòng)平臺(tái)開(kāi)發(fā),必定能解決很多開(kāi)發(fā)者跨平臺(tái)的苦惱。
今天給大家說(shuō)一下我們產(chǎn)品中用的比較多8個(gè)的.NET庫(kù),
Swashbuckle
此.NET庫(kù)可幫助您管理和測(cè)試.NET web API。它還使用Swagger為應(yīng)用程序構(gòu)建API文檔。對(duì)于新手來(lái)說(shuō),Swagger是一組描述RESTAPI狀態(tài)的規(guī)則。它們都是機(jī)器可讀的,并且可以被人理解。
主要功能包括:
提供與Swagger UI的無(wú)縫集成對(duì)身份驗(yàn)證OAuth2方案、API密鑰和基本身份驗(yàn)證的廣泛支持對(duì)XML注釋的支持
Swashback有三個(gè)主要組件:
Swashback.AspNetCore.Swagger-這是一個(gè)Swagger對(duì)象模型,提供了將Swagger文檔API公開(kāi)為JSON端點(diǎn)(即公開(kāi)可用的URL)的功能。Swashback.AspNetCore.swagggergen-提供生成API的對(duì)象、返回類(lèi)型和工作流的功能。Swashback.AspNetCore.SwaggerUI-這是Swashback提供的SwaggerUI的嵌入式版本。FluentEmail
FluentEmail是一個(gè)開(kāi)源的.Net庫(kù),可幫助您在不到10分鐘的時(shí)間內(nèi)在.Net應(yīng)用程序中實(shí)現(xiàn)電子郵件功能。它支持Razor用于預(yù)構(gòu)建電子郵件模板,并通過(guò)**TP協(xié)議通過(guò)常用的電子郵件傳遞服務(wù)(如SendGrid和MailGun)方便地發(fā)送郵件。它使您能夠更好地控制通過(guò)電子郵件傳遞服務(wù)發(fā)送郵件的方式。
FluentEmail包包括:
FluentEmail.core-這是一個(gè)基本包,有助于通過(guò)**TP發(fā)送電子郵件。因?yàn)樗腔景?,所以它只包括基本默認(rèn)值和域模型。FluentEmail.mailgun-用于使用mailgun REST API發(fā)送電子郵件。FluentEmail.SendGrid-用于通過(guò)SendGrid REST API發(fā)送電子郵件。FluentEmail.**TP-通過(guò)**TP協(xié)議發(fā)送電子郵件。xUnit
Xunit是一個(gè)免費(fèi)的、開(kāi)源的、以社區(qū)為中心的測(cè)試工具,它允許測(cè)試小型的**組件,而不是在程序的大塊后面進(jìn)行測(cè)試。這使得設(shè)計(jì)目標(biāo)和簡(jiǎn)單性與框架的特性保持一致。安裝此軟件包將安裝以下依賴(lài)項(xiàng):
Xunit.Core-包括所有用于編寫(xiě)單元測(cè)試用例的庫(kù),用于測(cè)試應(yīng)用程序的所有可能場(chǎng)景Xunit.assert-包括用于驗(yàn)證條件是否有效的斷言庫(kù)。Xunit.**yzers-安裝此軟件包可以為測(cè)試團(tuán)隊(duì)提供代碼分析器,幫助他們?cè)诰帉?xiě)健壯的測(cè)試用例時(shí)發(fā)現(xiàn)并修復(fù)頻繁出現(xiàn)的問(wèn)題和其他錯(cuò)誤。App Metrics
App Metrics是一個(gè)跨平臺(tái)、開(kāi)源的庫(kù),它記錄了應(yīng)用程序中的大量指標(biāo)。這包括在特定時(shí)間登錄的用戶(hù)數(shù)、請(qǐng)求數(shù)、DB查詢(xún)的運(yùn)行時(shí)間、API的響應(yīng)時(shí)間、可用的可用內(nèi)存等等。它支持一系列實(shí)用程序,如計(jì)數(shù)器、計(jì)時(shí)器和直方圖,以測(cè)量.NET應(yīng)用程序、MVC或web API的每個(gè)端點(diǎn)的性能和錯(cuò)誤。
常見(jiàn)的基于App.Metrics+InfluxDB+Grafana實(shí)現(xiàn)統(tǒng)一性能**。
HashLib
Hashlib包含幾個(gè)哈希算法的實(shí)現(xiàn),您可以使用這些算法對(duì).NET應(yīng)用程序中的文件、流和所有類(lèi)型的數(shù)據(jù)進(jìn)行哈希。哈希通常用于使用哈希鍵以更快的速度從數(shù)據(jù)庫(kù)中檢索特定數(shù)據(jù)。
散列鍵用于獲取數(shù)據(jù)的直接位置,而不是使用索引結(jié)構(gòu)。小編綜合來(lái)說(shuō),利用HashLib庫(kù)可以簡(jiǎn)化應(yīng)用程序中元素的搜索。
AutoMapper
Automapper是對(duì)象映射器的對(duì)象。通過(guò)這種方式,我們可以將一種類(lèi)型的一個(gè)對(duì)象的屬性映射到另一個(gè)對(duì)象的屬性。automapper廣泛用于使用DTO(數(shù)據(jù)傳輸對(duì)象)的情況。通過(guò)這種方式,可以很容易地將對(duì)象屬性從視圖(View)對(duì)象分配給DTO對(duì)象,并將DTO對(duì)象分配給域(Model)模型。
EntityFramework/Dapper
Entity Framework (EF)和Dapper都是ORM,使.NET開(kāi)發(fā)人員能夠使用特定于域的對(duì)象處理關(guān)系數(shù)據(jù)。就性能而言,Dapper擁有Micro ORM之王(King of Micro ORM)的稱(chēng)號(hào)。實(shí)體框架允許通過(guò)編寫(xiě)代碼或使用EF設(shè)計(jì)器中的boxes and lines來(lái)創(chuàng)建模型,并生成新的數(shù)據(jù)庫(kù)。
Polly
這個(gè)基本上是分布式系統(tǒng)中必不可少的組件,和Spring cloud類(lèi)似。Polly is a library that allows developers to express resilience and transient fault handling policies such as Retry, Circuit Breaker, Timeout, Bulkhead Isolation, and Fallback in a fluent and thread-safe manner.
當(dāng)然還有一些其他常用的類(lèi)庫(kù),newtonsoft,castle,moq,serilog,nunit等等。
拓展知識(shí):
前沿拓展:
vb.net 數(shù)據(jù)庫(kù)
你是中北軟院的吧,傷不起啊
微軟發(fā)布.NET框架已經(jīng)21年了,現(xiàn)在還是不少企業(yè)的首選開(kāi)發(fā)框架。尤其最近幾年微軟.net全面擁抱linux以及今年即將發(fā)布的.net 6基本支持所有的移動(dòng)平臺(tái)開(kāi)發(fā),必定能解決很多開(kāi)發(fā)者跨平臺(tái)的苦惱。
今天給大家說(shuō)一下我們產(chǎn)品中用的比較多8個(gè)的.NET庫(kù),
Swashbuckle
此.NET庫(kù)可幫助您管理和測(cè)試.NET web API。它還使用Swagger為應(yīng)用程序構(gòu)建API文檔。對(duì)于新手來(lái)說(shuō),Swagger是一組描述RESTAPI狀態(tài)的規(guī)則。它們都是機(jī)器可讀的,并且可以被人理解。
主要功能包括:
提供與Swagger UI的無(wú)縫集成對(duì)身份驗(yàn)證OAuth2方案、API密鑰和基本身份驗(yàn)證的廣泛支持對(duì)XML注釋的支持
Swashback有三個(gè)主要組件:
Swashback.AspNetCore.Swagger-這是一個(gè)Swagger對(duì)象模型,提供了將Swagger文檔API公開(kāi)為JSON端點(diǎn)(即公開(kāi)可用的URL)的功能。Swashback.AspNetCore.swagggergen-提供生成API的對(duì)象、返回類(lèi)型和工作流的功能。Swashback.AspNetCore.SwaggerUI-這是Swashback提供的SwaggerUI的嵌入式版本。FluentEmail
FluentEmail是一個(gè)開(kāi)源的.Net庫(kù),可幫助您在不到10分鐘的時(shí)間內(nèi)在.Net應(yīng)用程序中實(shí)現(xiàn)電子郵件功能。它支持Razor用于預(yù)構(gòu)建電子郵件模板,并通過(guò)**TP協(xié)議通過(guò)常用的電子郵件傳遞服務(wù)(如SendGrid和MailGun)方便地發(fā)送郵件。它使您能夠更好地控制通過(guò)電子郵件傳遞服務(wù)發(fā)送郵件的方式。
FluentEmail包包括:
FluentEmail.core-這是一個(gè)基本包,有助于通過(guò)**TP發(fā)送電子郵件。因?yàn)樗腔景?,所以它只包括基本默認(rèn)值和域模型。FluentEmail.mailgun-用于使用mailgun REST API發(fā)送電子郵件。FluentEmail.SendGrid-用于通過(guò)SendGrid REST API發(fā)送電子郵件。FluentEmail.**TP-通過(guò)**TP協(xié)議發(fā)送電子郵件。xUnit
Xunit是一個(gè)免費(fèi)的、開(kāi)源的、以社區(qū)為中心的測(cè)試工具,它允許測(cè)試小型的**組件,而不是在程序的大塊后面進(jìn)行測(cè)試。這使得設(shè)計(jì)目標(biāo)和簡(jiǎn)單性與框架的特性保持一致。安裝此軟件包將安裝以下依賴(lài)項(xiàng):
Xunit.Core-包括所有用于編寫(xiě)單元測(cè)試用例的庫(kù),用于測(cè)試應(yīng)用程序的所有可能場(chǎng)景Xunit.assert-包括用于驗(yàn)證條件是否有效的斷言庫(kù)。Xunit.**yzers-安裝此軟件包可以為測(cè)試團(tuán)隊(duì)提供代碼分析器,幫助他們?cè)诰帉?xiě)健壯的測(cè)試用例時(shí)發(fā)現(xiàn)并修復(fù)頻繁出現(xiàn)的問(wèn)題和其他錯(cuò)誤。App Metrics
App Metrics是一個(gè)跨平臺(tái)、開(kāi)源的庫(kù),它記錄了應(yīng)用程序中的大量指標(biāo)。這包括在特定時(shí)間登錄的用戶(hù)數(shù)、請(qǐng)求數(shù)、DB查詢(xún)的運(yùn)行時(shí)間、API的響應(yīng)時(shí)間、可用的可用內(nèi)存等等。它支持一系列實(shí)用程序,如計(jì)數(shù)器、計(jì)時(shí)器和直方圖,以測(cè)量.NET應(yīng)用程序、MVC或web API的每個(gè)端點(diǎn)的性能和錯(cuò)誤。
常見(jiàn)的基于App.Metrics+InfluxDB+Grafana實(shí)現(xiàn)統(tǒng)一性能**。
HashLib
Hashlib包含幾個(gè)哈希算法的實(shí)現(xiàn),您可以使用這些算法對(duì).NET應(yīng)用程序中的文件、流和所有類(lèi)型的數(shù)據(jù)進(jìn)行哈希。哈希通常用于使用哈希鍵以更快的速度從數(shù)據(jù)庫(kù)中檢索特定數(shù)據(jù)。
散列鍵用于獲取數(shù)據(jù)的直接位置,而不是使用索引結(jié)構(gòu)。小編綜合來(lái)說(shuō),利用HashLib庫(kù)可以簡(jiǎn)化應(yīng)用程序中元素的搜索。
AutoMapper
Automapper是對(duì)象映射器的對(duì)象。通過(guò)這種方式,我們可以將一種類(lèi)型的一個(gè)對(duì)象的屬性映射到另一個(gè)對(duì)象的屬性。automapper廣泛用于使用DTO(數(shù)據(jù)傳輸對(duì)象)的情況。通過(guò)這種方式,可以很容易地將對(duì)象屬性從視圖(View)對(duì)象分配給DTO對(duì)象,并將DTO對(duì)象分配給域(Model)模型。
EntityFramework/Dapper
Entity Framework (EF)和Dapper都是ORM,使.NET開(kāi)發(fā)人員能夠使用特定于域的對(duì)象處理關(guān)系數(shù)據(jù)。就性能而言,Dapper擁有Micro ORM之王(King of Micro ORM)的稱(chēng)號(hào)。實(shí)體框架允許通過(guò)編寫(xiě)代碼或使用EF設(shè)計(jì)器中的boxes and lines來(lái)創(chuàng)建模型,并生成新的數(shù)據(jù)庫(kù)。
Polly
這個(gè)基本上是分布式系統(tǒng)中必不可少的組件,和Spring cloud類(lèi)似。Polly is a library that allows developers to express resilience and transient fault handling policies such as Retry, Circuit Breaker, Timeout, Bulkhead Isolation, and Fallback in a fluent and thread-safe manner.
當(dāng)然還有一些其他常用的類(lèi)庫(kù),newtonsoft,castle,moq,serilog,nunit等等。
拓展知識(shí):
原創(chuàng)文章,作者:九賢生活小編,如若轉(zhuǎn)載,請(qǐng)注明出處:http://xiesong.cn/39551.html