問題的引出
在一些較大型的項目中,為了可重用,易維護,常常將系統設計為可插接式的,就是用一個框架將很多個小的組件組裝起來。有時一個系統中的組件有數百個之多,而這些組件都要去調用一組類庫,對應到.Net中就是有很多個程序集。如下圖:
在這種結構下,在開發時我們就要建很多個項目,這些項目的內部組織方式可以根據其功能進行分類的,比如常見的有:對數據進行列表,對表進行維護,顯示打印報表等。對於一個進行單表維護的項目,一般要用到驗證,日志,數據訪問,自定義控件等,這樣就要添加對應程序集的引用。對單表維護而言,界面上控件的擺放,執行的操作,有很多都是相似的。
所以可以想像一下,上百個工程,每個工程都要添加引用,然後給窗體上添加控件,寫一些類似的代碼。這樣的工作煩瑣而又容易在工程間產生不一致性,為了解決這些問題,我們可以使用項目模板。
2. 為什麼是項目模板
l 為什麼不使用代碼生成:
代碼生成對UI層的能力很有限,特別是winform下的窗體,裡面有很多設計器生成的代碼,代碼生成也可以對付,但是不是最佳的選擇。而且和VS.Net整合度不好。