iT邦幫忙

2022 iThome 鐵人賽

DAY 9
1
Software Development

ASP.NET Core 30 天旅程系列 第 9

[Day09]- .NET Core MVC 架構規劃(範例篇)

  • 分享至 

  • xImage
  •  

今天這篇會以我規劃出來的架構,簡單做一個小專案,準備好了嗎?那我們就開始吧!

今天要做一個超級簡單的功能,把兩個數字相乘,算出結果。
*因為是單純的運算,所以這邊先不提資料存取層。

Models

首先,我們先建立我們所需要的Model,在View傳給Controller時我們需要一個 DTO Model,進入業務邏輯層運算後需要一個 ViewModel 回給 View。
https://ithelp.ithome.com.tw/upload/images/20220925/20152200CEElwJLL4h.png
建立 CalculateDTO.cs & CalculateViewModel.cs
https://ithelp.ithome.com.tw/upload/images/20220924/201522008ZRk4WWsmh.png

https://ithelp.ithome.com.tw/upload/images/20220924/201522000krgcijg9Y.png

注意兩個 Model放置的資料夾,一個放在 DTOs, 一個放在 ViewModels。

Views

接者,利用範本中的Index.cshtml,我們把畫面調整成兩個數字的輸入框計算的按鈕總結的顯示框,並且帶入 Models。

https://ithelp.ithome.com.tw/upload/images/20220924/20152200UgzUB3FVkr.png
圖中要特別注意 input 的 name 要對應到 CalculateDTO 的變數名稱,另外第一行代表由這個頁面可以使用回傳的CalculateViewModel 物件資料。

Service

需要建立一個介面,再由實作繼承介面來實現方法。
https://ithelp.ithome.com.tw/upload/images/20220924/20152200pbWYywYKJ9.pnghttps://ithelp.ithome.com.tw/upload/images/20220924/20152200RUBhR1QULw.png

Controller

把實例化的物件從建構子傳入。只要在建構子加入 Service Interface ,然後我們建立一個[HttpPost] 的 Index 函式,在這邊呼叫 TwoNumberMultiply 方法。
https://ithelp.ithome.com.tw/upload/images/20220924/20152200OeX6YXZoKR.png

Program.cs

這邊使用 Autofac 來初始化並建立一個實例 & 註冊這個容器
https://ithelp.ithome.com.tw/upload/images/20220925/201522007feSgbplfm.png

執行結果
https://ithelp.ithome.com.tw/upload/images/20220925/20152200iJ2tYl7B3x.png


今天這個只是一個小小的範例,裡面其實還沒有做得很全面,例如輸入的驗證。之後的實作會再慢慢介紹囉,大家明天見!


上一篇
[Day08]- .NET Core MVC 架構規劃
下一篇
[Day10]- AutoMapper 類別轉換(1)
系列文
ASP.NET Core 30 天旅程30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言