您好,登錄后才能下訂單哦!
小編給大家分享一下.NET6如何開發(fā)TodoList應用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
首先明確一下我們即將開發(fā)的這個TodoList
應用都需要完成什么功能,我不會一次性把所有的特性諸如允許用戶登陸之類的需求全部寫上,只是先列出最基本的功能性需求:
我們可以維護一個TodoList
。
TodoList
可以包含多個TodoItem
。
對于TodoList
,我們可以設置其名稱
對于每個TodoItem
,我們可以設置其內(nèi)容,超期時間,是否完成。
對于所有實體,可以完成增刪改查的操作。
.NET 6這個沒什么好說的,按照官方說明下載安裝好就可以了。
使用Visual Studio Code
的原因是其免費,跨平臺,功能足夠用。雖然在智能補全上不如Visual Studio
、Visual Studio for Mac
或者Rider
強大,但是因為看這篇文章的你可能用不同的系統(tǒng),不同的工具,所以我還是決定用所有平臺都免費并且表現(xiàn)一致的IDE來進行演示,你可以任選一個自己已有的IDE進行開發(fā)。
當然為了順利的使用VScode
開發(fā).NET 6 Web API項目,有一些擴展應用也是必須要安裝的,在VSCode的Extension中搜索并安裝以下擴展ID:
ms-dotnettools.csharp
- 由OmniS
harp提供的VSCode
開發(fā)調(diào)試C#項目的必選項。
ms-azuretools.vscode-docker
- Docker
擴展。
大家可能對這個工具名字比較陌生,這是用于對Web API
項目進行本地測試的工具。大家更熟悉Postman,而這款工具的前身叫做Postwoman
,現(xiàn)在更名為Hoppscotch
,使用Chrome
內(nèi)核的瀏覽器打開Hoppscotch
后可以在地址欄上點擊可用擴展標志,選擇安裝到本地,方便以后使用:
打開以后的界面長這樣:
功能非常強大,測試Restful
接口,GraphQL
接口,實時通信接口(WebSocket/SSE/Socket.IO/MQTT)
都可以,而且占用資源比Postman
要低很多,顏值又高還免費……簡直良心。
Clean Architecture
是大神Robert C. Martin
在自己的博客上發(fā)表的一篇關于如何組織應用程序結(jié)構(gòu)和依賴關系來實現(xiàn)更好的獨立、解耦的多層項目結(jié)構(gòu)的方式,推薦大家有時間把這篇文章好好看一下。
經(jīng)過長久的實踐和演化,目前我個人覺得最簡潔、使用起來最舒服的Clean Architecture
結(jié)構(gòu)是這樣的:
# 創(chuàng)建解決方案目錄 mkdir TodoList && cd TodoList # 創(chuàng)建解決方案 dotnet new sln -n TodoList # 按照clean architecture的項目結(jié)構(gòu),創(chuàng)建WebApi項目以及classlib項目 dotnet new webapi -f net6.0 -n TodoList.Api -o ./src/TodoList.Api dotnet new classlib -f net6.0 -n TodoList.Application -o ./src/TodoList.Application dotnet new classlib -f net6.0 -n TodoList.Domain -o ./src/TodoList.Domain dotnet new classlib -f net6.0 -n TodoList.Infrastructure -o ./src/TodoList.Infrastructure # 按照clean architecture的結(jié)構(gòu)和依賴關系,設置項目間的引用 # Application只依賴于Domain dotnet add src/TodoList.Application/TodoList.Application.csproj reference src/TodoList.Domain/TodoList.Domain.csproj # Infrastructure只依賴于Application dotnet add src/TodoList.Infrastructure/TodoList.Infrastructure.csproj reference src/TodoList.Application/TodoList.Application.csproj # Api依賴于Application和Infrastructure dotnet add src/TodoList.Api/TodoList.Api.csproj reference src/TodoList.Application/TodoList.Application.csproj dotnet add src/TodoList.Api/TodoList.Api.csproj reference src/TodoList.Infrastructure/TodoList.Infrastructure.csproj # 將所有項目添加到sln上 dotnet sln TodoList.sln add src/TodoList.Api/TodoList.Api.csproj dotnet sln TodoList.sln add src/TodoList.Application/TodoList.Application.csproj dotnet sln TodoList.sln add src/TodoList.Domain/TodoList.Domain.csproj dotnet sln TodoList.sln add src/TodoList.Infrastructure/TodoList.Infrastructure.csproj
在終端定位到當前解決方案目錄里運行:
$ dotnet restore Determining projects to restore... Restored /Users/yu.li1/Projects/asinta/blogs/cnblogs/TodoList/src/TodoList.Application/TodoList.Application.csproj (in 206 ms). Restored /Users/yu.li1/Projects/asinta/blogs/cnblogs/TodoList/src/TodoList.Infrastructure/TodoList.Infrastructure.csproj (in 206 ms). Restored /Users/yu.li1/Projects/asinta/blogs/cnblogs/TodoList/src/TodoList.Api/TodoList.Api.csproj (in 306 ms). 1 of 4 projects are up-to-date for restore. $ dotnet run --project src/TodoList.Api/TodoList.Api.csproj Building... info: Microsoft.Hosting.Lifetime[14] Now listening on: https://localhost:7039 info: Microsoft.Hosting.Lifetime[14] Now listening on: http://localhost:5050 info: Microsoft.Hosting.Lifetime[0] Application started. Press Ctrl+C to shut down. info: Microsoft.Hosting.Lifetime[0] Hosting environment: Development info: Microsoft.Hosting.Lifetime[0] Content root path: /Users/yu.li1/Projects/asinta/blogs/cnblogs/TodoList/src/TodoList.Api/
使用Hoppscotch使用WebAPI項目自帶的WeatherForecast接口查看項目是否運行成功:
項目結(jié)構(gòu)到這里就搭建完成了,我們可以刪除Api項目中的示例WeatherForecast
相關的文件,以及三個類庫項目中的Class1.cs文件。最終的項目結(jié)構(gòu)長這樣:
以上是“.NET6如何開發(fā)TodoList應用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。