作者序
近年來,Web 應用程式的開發技術轉變很大,不論是PHP、ASP 或相關的網頁開發技術大都逐漸朝功能分離、單純化與容易維護的方向邁進,MVC 架構(Model、View、Controller) 的拆分開發方式,有助於複雜應用程式常遭遇的問題-- 分工開發與後續維護管理,儼然成為目前Web 應用程式開發的主流。而基於微軟推出ASP.NET MVC 開發技術逐漸成熟與穩定,業界更逐漸導入ASP.NET MVC 開發架構去取代過去Web Form 的開發方式,撇開過去舊系統的維護與客戶的需求外,新承接的案子大都以ASP.NET MVC 技術開發,有鑑於此,ASP.NET MVC 相關技術持續盛行,相應的人才需求也應運而生。
對網頁應用程式的開發來說,能夠熟悉ASP.NET MVC 架構的運用是非常重要的能力,許多網頁設計初學者都希望能透過循序漸進的學習進而了解與熟悉這種開發方式,雖然網路學習資源非常豐富,然而,不同的學習內容有其脈絡,且由於內容不連貫且深淺不一,初學者無法輕易判斷及理解內容的深淺與適合度,容易陷入混亂的窘境,進而失去學習的方向。再者,ASP.NET MVC 技術有別於以往WebForm 的開發方式,不僅門檻較高,且非常重視觀念的理解,尤其是物件導向的觀念需要非常清楚,對於Model, View, Controller 各自的運作方式也必須熟悉,不然開發過程中容易遭受困難與挫折,對初學者來說,觀念理解部分非常吃重,從觀念、實作到能熟練開發,有許多循序漸進的觀念與技術需要熟悉,學習過程中,若沒有適當的引導,容易遭遇障礙、停滯不前,進而產生挫折與萌生放棄的念頭。
基於此,本書以Visual studio 開發工具與C# 語言為演繹平台,剖析ASP.NET MVC 架構與物件導向的觀念,輔以程式基礎教學與專案實作。為了讓初學者更容易上手,本書前七章從網頁開發的基礎開始複習,如C# 語法、資料庫觀念等,並在撰寫的過程中不斷地與初學ASP.NET MVC 架構的學生討論,持續修改各章節架構與小型範例的設計,務必讓每章節的內容簡易好懂,觀念與觀念彼此間環環相扣,初學者能易於理解觀念並循序漸進的學習,隨著章節的遞增,開發能力也一層一層的堆疊起來,而章節內容搭配實作程式的方式,讓讀者能從『做中學』中,更能透析觀念的意涵,再透過第八章開始的各個範例實作,複習整本書說明的開發觀念。
這本書籍站在初學者的角度進行編撰,從Visual studio 開發工具的操作、C# 基礎語法、資料庫觀念與MVC 架構介紹,並提供一系列的單元實作,由淺入深地引導讀者們從環境佈署到網站建立的過程,期許這本書的編排與設計,能夠讓想要學習ASP.NET MVC 架構的讀者們有一個依循的學習路徑,逐步的理解及運用ASP.NET MVC 框架的開發方式。
全書分為三大部分:
1. 「教戰守則篇」:為網頁應用程式開發基礎概念教學的部分,從Visualstudio 2019 開發工具開始介紹,並循序漸進地描述C# 語言的基礎語法、邏輯與資料庫觀念,並逐漸引入MVC 開發的概念,建立紮實的觀念與基礎。
2. 「觀念養成篇」:深入講解Model、View、Controller 的核心概念,從基本的介紹、觀念到三者之間的搭配,完整描述與講解所有核心觀念與實用程式技巧,並透過淺顯易懂的圖文說明,搭配小型範例練習的方式,協助讀者加深先前描述的觀念,透過理論與實作交互運用,更清楚掌握書本的內容。
3. 「實作練習篇」:以完整的範例演繹前面章節提到的觀念,並詳細解釋程式碼的涵義 ,採用逐步引導的方式帶領讀者一步步完成範例,並且透過觀念與難度疊加的單元範例設計,在學習新觀念與章節時,也能同時複習舊的觀念,並測試既有的觀念是否清楚,從第八章開始的整合實作練習,如留言板、會員、購物車、部落格等,讀者可藉由範例複習來貫穿整本書所要表達的觀念,第十二章的購物網站建置,強化讀者從觀念理解到實作執行的能力,進而能獨力完成網站的建構。
這本書是由學生團隊和指導老師們合力完成的書籍,章節中的範例都是學生學習後的成果,範例程式也都經過學生們再三確認無誤,在此,非常感謝畢業學長蔣宜成與蕭盟興願意將觀念分享,奠下這本書的觀念架構的基礎,以及黃煒凱、楊鎧睿、吳玟憲與黃子銘願意將本身的知識與學習經驗分享,透過一次又一次地討論與修改,由淺入深的編排整個ASP.NET MVC 網頁應用程式設計的重要觀念,並輔以小型範例程式的實作說明。為了更了解初學者的需求與角度,與實驗室學弟妹們的互動與回饋更是不可或缺的寶貴意見。最後特別感謝賴育晨與林家安對於書本內容的細心校稿、程式碼的測試與學習過程的建議,讓這本書的內容與編排能更臻完善,更貼近初學者的角度,再次強調學生們才是這本書的真正作者。
姜琇森、蕭國倫
撰寫於 國立臺中科技大學資訊管理系