☆NET 8 Core Web應用程式核心基礎與套件介紹
★套件輔助學習 - 節省開發時間與心力
☆使用分層架構 - 讓專案各司其職,提高應用程式的可維護性和擴展性
★身份驗證授權 - 使用Identity套件,提高網站的安全性
☆角色權限管理 - 引導讀者建立不同的角色,模擬多層級會員系統
★Repository pattern – 封裝資料庫邏輯,更有效的方式與資料庫溝通
☆Entity Framework Core(EF Core) - 以架構物件的方式使用資料庫,讓開發學習者容易上手來處理資料
★豐富的教學資源 - 提供完整專案程式碼及範例檔案下載
本書主旨在如何使用ASP.NET Core 8來建立一個強大且可擴展的平台,內容分為四大區塊,引導讀者掌握軟體開發的基本技能,分別為「程式基礎篇」、「.NET Core特色篇」、「應用實戰篇」和「模擬架站篇」。
☆程式基礎篇:介紹ASP .NET的發展歷史,同時深入了解ASP .NET Core的生命週期。讀者將學習C#的核心概念,從基本的變數、資料型態、運算子,到進階的迴圈、類別和物件操作。MVC的核心觀念也將被介紹,包括檔案配置、職責與架構,並探討Model、View和Controller的角色。最後,讀者將使用Visual Studio 2022來建立ASP.NET Core Web應用程式,學習如何設計Category模型,並探索如何透過TempData和Toastr工具來增強使用者的互動體驗。
★.NET Core特色篇:探討依賴注入(DI)的核心概念。學習如何運用DI來管理應用程式的相依性,讓程式碼更容易進行測試和維護。此外,也著重如何優化專案的結構,包括實施分層架構、建立Repository和UnitOfWork,以及使用Area來更有效地組織和管理應用程式的各個部分。
☆應用實戰篇:將會引導讀者建立電商平台,學習ViewBag、ViewData、ViewModel與DataTables來優化前端和提升使用者體驗。透過應用ASP.NET Core Identity的功能,來模擬飲料店的多層級會員系統。掌握建立和管理購物車系統的能力,並使用ViewModel讓資料處理更加靈活。最後,帶領讀者深入訂單流程,從設計結算頁面到詳細的訂單管理,確保讀者能全面掌握電商平台的訂單管理流程。
★模擬架站篇:協助讀者將電商平台部署到雲端,在進行部署前,會確保各角色的使用者權限、防止不當系統變更、涵蓋權限設定、安全性問題解決,以及資料庫的初始化。
☆☆無論是初學者或有ASP.NET Framework開發經驗的人,本書都將提供寶貴的知識,讓您能夠快速建立一個功能豐富的網頁應用程式。讓我們一起開始吧!☆☆
作者簡介:
蕭國倫
國立臺中科技大學 資訊創新應用與服務中心 主任
國立臺中科技大學 資訊管理系 教授
全球前2%終身科學影響力科學家
2020-2022全球前2%科學影響力科學家
研究領域:電子商務、網路行銷、元宇宙/Web3、程式教育、AI創新服務應用
教學著作:多本以WEB技術開發程式語言書籍,如.NET MVC、PHP、Python、Bootstrap、JavaScript、AngularJS、WordPress、Azure等
姜琇森
國立臺中科技大學 資訊管理系 教授
2020-2022 全球前2%科學影響力科學家
TIBCO Statistica 統計與資料探勘分析軟體 講師
研究領域:機器學習、人工智慧、資料科學、網頁系統開發、程式教育、AI創新服務應用
教學著作:多本以WEB技術開發程式設計書籍,如.NET MVC、PHP、Python、Bootstrap、JavaScript、AngularJS、ReactJS、WordPress、Azure等
作者序
在現今這個雲端化的時代,以網頁為基礎的各項應用已經融入到日常的生活和工作中,網頁應用開發逐漸成為一個不可或缺的技術,不僅是專業開發人員,許多網頁使用者也相繼投入這個領域進行學習。然而,雖然網路提供的學習資源非常豐富,但在內容上較為分散,也缺乏一系列由淺入深且循序漸進的內容編排,零碎的知識與欠缺完整參考範例的搭配,使得初學者無法有效應用線上資源,在學習上備感挫折。
眾多蓬勃發展的網頁開發技術中,微軟提出ASP.NET相關技術與類別庫占有一席之地,在.NET Framework開發平台(development platform)下,採用C#語言進行開發的方式,相當普遍。而為了提升多作業平台整合與相應的開發能力,微軟於2014年推出新的架構ASP.NET 5,並在2016年更名為ASP.NET Core,這個變更代表了.NET平台的重要發展,將.NET Framework和.NET Core合併成一個統一的平台。這樣的合併有助於簡化.NET開發,並提供更一致的開發體驗,且ASP.NET Core具有跨越不同作業系統的能力,除Windows外, Mac OSX與Linux 也能進行開發,而.NET Core與現有的.NET Framework是可以並存的,能在同一台電腦上同時運行兩種開發環境,保持與過去應用程式的相容性。此外.NET Core應用程式的部署變得更簡單,不需要擁有大型的Framework Runtime,讓應用程式更輕巧;同時.NET Core採用的是分散式套件管理,應用程式可以獨立下載和更新所需的套件版本,不需要一個固定的大版本,讓專案開發更加彈性。總而言之,.NET Core為.NET開發帶來了更大的靈活性,同時也減少了不必要的複雜性,這個重要改變也促進了.NET系統的進步,並為未來的.NET開發提供更多選擇和機會。
ASP.NET Core已經持續更新到8.0測試版本,除承襲先前版本的優點外,更加入許多實用的功能,使用者可更快速有效率地完成應用程式開發,然而,如何有效率地發揮ASP.NET MVC的優勢是許多人頭痛的地方,錯誤的觀念及步驟反而造成事倍功半的窘境,有鑑於此,也就有了這本書的產生。這本書主要目的是在.NET 8的環境下,如何使用ASP.NET Core與MVC軟體開發模式來建立一個強大且可擴展的平台,將引導讀者掌握軟體開發的基本技能,從ASP.NET、MVC模式、開發工具、設計原則和專案實作一一介紹與討論,並輔以各範例的詳解步驟,幫助讀者建立軟體開發的基礎。
此書將建構多個項目來理解 .NET 8 中的基本概念。在前面章節中將使用ASP.NET Core Web 應用程式(Model-View-Controller)來學習Create(新增)、Read(閱讀)、Update(更新)、Delete (刪除)等資料基本操作。而實作章節則會帶領讀者開發電商線上平台的各個基本功能,如:會員系統、購物車、訂單管理等,從實作中學習如何開發應用程式。本書在實作範例時加入了許多知名且實用的套件,像是Toastr 和 DataTables等,帶領讀者一步步將套件引用至專案中,讀者可以根據需求和設計風格,來提高網頁的使用者體驗和美工設計,最後將會詳細介紹如何在Azure上部署應用程式。
ASP.NET Core結合MVC軟體開發模式,對於初學者而言,有一定的進入障礙,為了讓初學者能夠更容易的了解與學習,本書提供了很多的範例與補充說明,以減低學習者在學習上的困難,在實作的程式碼部分,本書的範例詳細解釋每行程式碼,讓學習者能更容易的了解整個程式運作的架構和方式,進而有更深入的體會與了解。最後,這是一本由學生團隊和指導老師們合力完成的書籍,這本書的範例都是學生練習後的成果,範例程式碼都經過學生們再三確認無誤,學生們才是這本書的真正作者。
姜琇森、蕭國倫 撰寫於 國立臺中科技大學資訊管理系
在現今這個雲端化的時代,以網頁為基礎的各項應用已經融入到日常的生活和工作中,網頁應用開發逐漸成為一個不可或缺的技術,不僅是專業開發人員,許多網頁使用者也相繼投入這個領域進行學習。然而,雖然網路提供的學習資源非常豐富,但在內容上較為分散,也缺乏一系列由淺入深且循序漸進的內容編排,零碎的知識與欠缺完整參考範例的搭配,使得初學者無法有效應用線上資源,在學習上備感挫折。
眾多蓬勃發展的網頁開發技術中,微軟提出ASP.NET相關技術與類別庫占有一席之地,在.NET Framework開發平台(development platform)下,採用C#...
目錄
Chapter 01 環境建置 & 關於 .NET 8
1-1 ASP.NET Core 簡介
1-2 .NET 8 簡介
1-3 開發工具、環境架設
1-4 ASP.NET Core 網站生命週期
Chapter 02 C#基礎語法
2-1 程式架構
2-1 程式語法介紹
2-2-1 輸入與輸出
2-2-2 變數與常數
2-2-3 資料型別
2-2-4 運算子
2-3 條件流程控制
2-4 迴圈流程控制
2-5 類別與物件
2-5-1 物件與物件導向
2-5-2 類別
Chapter 03 MVC 基本觀念
3-1 MVC 概觀
3-2 MVC 檔案配置
3-3 MVC 職責
3-4 MVC 架構
3-5 .NET 中的MVC
Chapter 04 CRUD 實作練習
4-1 創建 MVC 專案
4-2 建立Model & 連線資料庫
4-3 Read 查看資料
4-4 Create 新增資料
4-5 Edit 編輯資料
4-6 Delete 刪除資料
4-7 TempData & Toastr
Chapter 05 依賴注入(Dependency Injection)
5-1 介紹
5-2 IoC 控制反轉 (Inversion of Control)
5-3 DI 依賴注入(Dependency Injection)
5-4 DI 容器中控管服務的生命週期
Chapter 06 檔案結構
6-1 介紹分層架構
6-2 修改專案架構
6-2-1 調整專案架構
6-2-2 重建資料庫
6-3 建立Repository
6-3-1 為何要使用Repository模式和UnitOfWork 模式?
6-3-2 實作Repository
6-4 建立UnitOfWork
6-4-1 實作UnitOfWork
6-5 建立Area
6-5-1 建立Area
Chapter 07 Product + 首頁
7-1 建立Product Model
7-2 Product的基本 CRUD
7-3 鍵入類別、圖片的資料欄位和建立關聯
7-4 ViewBag、ViewData以及ViewModel
7-4-1 ViewBag的作法
7-4-2 ViewData的作法
7-4-3 ViewModel
7-5 整合新增及編輯頁面
7-6 儲存圖片路徑
7-7 DataTable 實作
7-8 首頁建立
Chapter 08 會員
8-1 建立 Identity
8-2 會員註冊及登入
8-3 角色與權限控管
8-4 調整註冊頁面
8-5 建立分店
Chapter 09 購物車
9-1 建立購物車模型
9-2 購物車介面
9-3 建立購物車的 View Model
9-4 修改及移除 ShoppingCart
Chapter 10 訂單管理
10-1 結算畫面
10-2 新增訂單功能需要的資料表
10-3 建立訂單的 Repository
10-4 將購物車金額與訂單合併
10-5 送出訂單
10-6 訂單管理
Chapter 11 專案部署
11-1 角色權限設定
11-2 修改註冊功能
11-3 資料庫初始化DBInitializer
11-4 建立Azure SQL Server
11-5 版本降級
11-6 Git 設定與初始化
11-7 專案部署
Chapter 01 環境建置 & 關於 .NET 8
1-1 ASP.NET Core 簡介
1-2 .NET 8 簡介
1-3 開發工具、環境架設
1-4 ASP.NET Core 網站生命週期
Chapter 02 C#基礎語法
2-1 程式架構
2-1 程式語法介紹
2-2-1 輸入與輸出
2-2-2 變數與常數
2-2-3 資料型別
2-2-4 運算子
2-3 條件流程控制
2-4 迴圈流程控制
2-5 類別與物件
2-5-1 物件與物件導向
2-5-2 類別
Chapter 03 MVC 基本觀念
3-1 MVC 概觀
3-2 MVC 檔案配置
3-3 MVC 職責
3-4 MVC 架構
3-5 .NET 中的MVC
Chapter 04 CRUD 實作練習
4-1 創建 MVC 專案
4-2 建立M...