在上一篇([12]TemplateBuilder建立Multi Project和Item Template)介紹完最複雜類型的template - multi project template之後,基本上已經涵蓋一般常見到的情況了。
在這一篇將會對於這一系列所介紹的方式做個總結,並且展望接下來可以關注的方向。
總結目前介紹的內容
整合到目前為止所介紹的內容。
template重要性和何為template
這一個系列的一開始,先介紹了template的重要性,用template來規範團隊是最好的方式。
用匯出的方式建立template
最簡單和最快的建立template方式就是透過Visual Studio(以下簡稱VS)匯出的方式來達成。
在接下來介紹vstemplate的內容和如何透過微調vstemplate來達到想要的效果
最後介紹如何建立最複雜類型的template - multi project template和item template。
用VS的project template建立template
由於匯出template不好管理,因此開始深入了解如何透過VS的Project Template和VSIX建立template。
用VSIX開發會自動開啟VS的Experimental Instance做測試,因此對於如何使用Experimental Instance做了一些介紹
SideWaffle的降臨
Project Template的缺點是,如果要調整template是在不方便,因為template本身都是替換的Parameter,造成無法像一般開發的方式來2度微調template,因此SideWaffle進來了:
有了一些使用SideWaffle的概念之後,開始介紹實際的背後功臣 - TemplateBuilder - 如何微調並且使用建立multi project template
sample/
為開頭,例如sample/chapter02
關於未來
到目前為止,用TemplateBuilder已經能夠很方便建立出自己的template,基本上一般情境都夠用了,不過是否這就已經是到頭了呢?
基本上有兩個部分還沒有介紹:
- Wizard的介紹
- .net core的新template模式
什麼是Wizard
在建立template的時候,有時候會希望和使用者互動。舉例來說,如果我的template包含自動設定好db連線,這個時候建立template的時候就會希望有個地方會讓他輸入db相關資訊 - template建立好就設定好不需要建立完在自己去找對應檔案和調整。
要達到這種效果,就需要寫Wizard。
可以想象成寫asp .net mvc的時候,如果建立controller會讓你選擇要建立的controller類型(controller其實用的是Scaffolding在做這個事情,不過概念是差不多)。
Wizard目前沒有打算介紹(至少短期內不會),因為使用的情境比較少,雖然有Wizard的確UX會更好,但是如果template沒有複雜到某個程度,其實不會用到。
.net core帶來的新template模式
作為.net developer,最近應該長聽到的就是.net core 2.0的到來。
如果對.net core有關注的就會注意到,.net core 很大一個特色就是程式的執行模式和以前的.net framework不一樣,多了一個dotnet
的指令。
裡面可以使用dotnet new
的方式來建立出template,這種類型的template和VS裡面的template建立方式有些不同。
在不遠的將來,將會對於.net core的template建立方式做介紹。
結語
在這篇把這個系列做一個階段性總結。
更深入的template需求可以朝Wizard的方向做研究和客制,不過因為使用情境比較深入因此暫時不會介紹。
反而是因為.net core的到來,新的template建立方式勢必會越來越常使用。
不過如果不了解.net core,會無法了解為何template有做了變化。
因此這個系列將會暫時結束,轉向對.net core作介紹,並且在那邊介紹如何使用SideWaffle Creator 2017
(SideWaffle的VS 2017版本)來建立出VS和dotnet new格式的template。