學習透過 Visual Studio C# Project Templates 建立慣用開發方案!讓開發工作更加有效率 ,Visual Studio 2017 or 2019 Community/Professional/Enterprise 皆適用
了解 Visual Studio 的 Project Template (範本)如何建立、如何利用範本包裝重複性工作、如何發布自己的範本到 Visual Studio Gallery 造福其他朋友們。
如何規劃,將自己多年累積的專案資產,如:共用程式碼 Common Utility、Business Logic Model (Layer)、DataAccess 等程式碼骨架,包裝成可重複建立、使用的 Project Templates
互動式 UI 設計,產出 Business logic 程式碼
按一下 進入設定
# Don"t Repeat Yourself
許多開發人在專案開發上,總是 不斷的重複著某些必要卻費時費力的工作,如果您已經有多年的專案開發的經驗,但是您每次建立一個新的 Project 時,就得要重新 References 相關的參考、或者是重複的安裝相關的 nuget 套件、又或者是 COPY 一些每個專案都會共用的程式碼 (比如:Common Utility/Business Logic/DataAccess Layer 等等) 如果有以上這些情況,那麼您可以考慮將您現有的程式碼資產包裝成 C# Project Templates!
# 整合累積的專案資產,建立方案,一步到位!
透過 C# Project Template 您將可以把自己多年來,所累積的專案資產包括 軟體架構、共用模組、商業邏輯、前端套件、程式碼骨架給打包整合,建立不同的慣用方案,如:BO (Business Object Project)/WebAPI Host Project/VO (View Objects Project) 等等、或甚至是 Data Access Project,就如同我的 MyORM 一般。
# 學會整合、優化開發流方法提昇功力吧!
許多開發人員和團隊到了一個階段後,便會開始尋求如何讓開發工作做更加簡便、有效率,而這堂課將會用以技術顧問的經驗切入做設計,教您如何正確地透過 C# Project Template 建立並整合出更快速的開發方法!
# 活用工具並融合開發經驗,更上一層樓!
我過去擔任過許多公司的技術顧問,發現許多開發人員和團隊都存在著相同的問題。就是埋頭苦幹,卻沒時間停下來好好思考,如何讓開發工作更加有效率。 許多開發人員、或團隊甚至不知如何整理自己所學的軟體架構、商業邏輯物件 BO (Business Object)、共用模組 Common Utility 或甚至是資料存取層 Data Access Layer 都可以透過 C# Project Template 撰寫成互動式精靈 UI,快速的產生你的既定的框架 。而這堂課將會帶領您,如何學習將自身的開發環境現狀以及所學技能,產出最適合自己和團隊的開發方法。
# 詳細 C# Project Template 開發須知
快速了解 C# Project
一致性的開發規範 - Coding Standard (Programming Rule)
開發更一致化、容易標準化
加快開發的效率 - 避免重複造輪子
減低人為的錯誤率
保障程式碼品質 (搭配 UnitTest & Code Review)
讓程式碼更容易交接、維護、與重用
經由以上幾點,達到加速開發的優點
在這個小節裡面,我會融合從 1.1 章 ~ 6.4 章節的所有內容,使用我自己開發的 Web Project Template Host 來建立網站(這個網站完全是一個 C# Project Template 所建立的,包括 Bootstrap + jQuery 等基本套件),而我會 Demo 如何將 Vue.js 的 Front-End 項目加入到 C# Project Template 中,再重新 ReBuild,接著,就使用『實驗性執行個體』進行一連串的開發工作。
這是一個重無到有的建置過程,我在影片中,展示如何從無到有的建置一個『使用者資料維護』清單畫面。
這個應用程式會有基本的 Website(Host) + BO (Business Object) + DataAccess (MyORM)
步驟大致上如下:
(1). 建立 Website (這裡稱作 WebAPIHost) 是一個含括 EasyArchitect Web API Host (ApiHostBase) 的網站
(1.1). 也會順便解釋 EasyArchitect Framework 的 ApiHostBase 的定義
(2). 建立 BO 專案 (這是一個 ServerComponent 的類別庫專案)
(3). 使用 Postman 測試預設的 GetDateTime 測試方法
(4). 建立 DataAccess 專案 (MyORM 的 MyORM2UnitOfWorkRepositoryProject 的範本來建立)
(5). 撰寫 BO 的 GetUsers() 的Web API 方法 並設定 APO 屬性 Attributes [EnabledAnonymous(true), ExposeWebAPI()]
(6). 使用 先前所學習建立的 UserGridItem 的 Item Template 來建立 使用者清單查詢 【Index 檢視頁面項目】
(7). 安裝 EasyArchitect.Client.BackendService.jQuery 透過它來渲染 Vus.js
(8). 測試應用程式
這個從無到有的過程,會使用到我先前在『軟體開發之路 - 技術分享會(第一場)- 客製化 Web API 框架設計』的,使用客製化 EasyArchitect Web API Framework 框架設計商業應用程式(https://www.slideshare.net/GelisWu/web-api-77930234),而這裡全面的導入 C# Project Templates!
而先前我也有一篇文章:『從使用者需求、談架構設計(二)- Clean Architecture 一個整潔的架構篇』,在這個文章中,所使用的 Web API 的框架也是基於這個框架所撰寫而成的!
1. 安裝 Visual Studio 2017 or 2019 Community/Professional/Enterprise (任一版本皆可)
下載連結:https://www.microsoft.com/net/download/windows
2. 並確認安裝好 Visual Studio Extensibility SDK 擴充功能開發(並同時已經安裝好『Web 網頁開發』、『Desktop 桌面開發』、『.NET Core 跨平台開發』安裝.NET跨平台開發是為了nuget.command.CLI 會自動安裝在User Profile下)
3. 透過 Visual Studio 的擴充功能與更新 來安裝 MyORMWizardExtensions 套件
4. 安裝好 NuGet Package Explorer
下載連結:https://github.com/NuGetPackageExplorer/NuGetPackageExplorer
5. 安裝 NuGet CLI 公用程式 (如果課程中您找不到 nuget.command.line 路徑時,請自行下載 COPY 到該路徑中)
下載連結:https://docs.microsoft.com/zh-tw/nuget/install-nuget-client-tools
我是 Gelis,從事軟體專案開發相關工作已經 19 餘年(顧問工作4年),專案開發 15 年,目前任職資深 .NET 技術顧問,目前主要負責與 .NET 相關的開發、顧問與訓練工作。
我熱愛軟體工程、UML 系統分析與設計,擅長 OO 物件導向分析與設計外,也擅長將看似與程式碼無關的 OOA 與 OOD 的設計模型推導為實際程式碼設計,專精於 .NET 平台網頁 ASP.NET Web Form 與 MVC 開發與 WinForm 開發,領域包含了 WinForm、WPF 等。
主要負責軟體開發架構、流程的導入的顧問工作,主要核心價值在於在導入適當的開發平台 Platform 框架 Framework,配合 (Team Foundation Server, TFS) 產品與 ALM 的Scrum 流程,搭配自動化 Code-Review 並結合 Team Build 進行自動化測試,自動化部署 (Continuous Deployment, CD),並達到持續整合 (Cintinuous Integrated, CI),以提升開發團隊的效率與價值。
曾經連任七屆微軟最有價值專家 MVP (2011 ~ 2017),有個人的技術部落格 『Gelis 技術隨筆』,以記錄在技術上學習的新知與個人的研究發表。
部落格 (Gelis 技術隨筆):
http://gelis-dotnet.blogspot.tw
https://www.dotblogs.com.tw/gelis/
FB 社團 (軟體開發之路):
https://www.facebook.com/groups/361804473860062/
FB 粉絲團 (Gelis 的程式設計訓練營):
https://www.facebook.com/gelis.dev.learning/
我講授過的課程 SlideShare:
https://www.slideshare.net/GelisWu
Github:
如果您購買的是募資課程,請在課程的【簡介】中查看開課時間,募資課程將於開課時間所述日期開放同學上課。
若您購買的是一般課程(開放上課課程),則在購買完成後可以立即開始觀看。
所有線上課程皆不受時間限制,享無限次永久觀看!
老師,請問最近有優惠嗎?
您好,不知您看到的價格是多少錢呢?
$1800
我這裡目前還有一個優惠卷是 $1390
您可以考慮看看,若有需要我發MAIL給您(因這裡無法貼優惠卷)
有任何問題都可以跟我說唷!
謝謝您
太感謝了,我的mail:
orissa.wang@yahoo.com.tw
方便給我您的 EMail 嗎?
謝謝您
orissa.wang@yahoo.con.tw
您好
我寄了幾次都被退信,您確定這信箱是存在的嗎?
或者您還有別的信箱嗎?
謝謝您
我已寄出。
原來複製到你下面那個錯的 XD