2010-07-28 83 views
11

那麼,我一直在網上關注NerdDinner教程,並且我已經完成了對它的測試。如何避免必須編寫樣板代碼?

現在我已經實現了一個使用幾乎相同架構的項目。

我發現我的過程是:

  1. 創建數據庫。
  2. 創建DBML。
  3. 使用數據訪問方法創建| TableName | Repository.cs類。
  4. 創建partial | TableName |類來處理驗證。
  5. 沖洗並重復所有表格。

當我完成時,我已經筋疲力盡,除了拖拽和複製代碼並更改變量名稱之外,我沒有真正做過任何事情。

我在這裏錯過了什麼。我在哪裏可以改進這種模板陰霾?

編輯:Sans創建我自己的T4模板,有沒有一個工具可以幫助我?

+0

我一直在MVC中工作很長時間,我仍然這樣做 – Nealv 2010-07-28 22:49:29

+0

嚴肅地說,這是最好的,最被接受的方式?看到90%的過程是機械的,沒有一種工具可以爲你做到這一點? – 2010-07-28 22:51:29

+0

不是我見過,也許是別人做的,希望他們在這裏發佈然後:) – Nealv 2010-07-28 22:57:53

回答

4

參見Visual Studio Templates

我還沒有使用它們,但我假設如果你花時間定製它們,你將能夠使Visual Studio生成很多你已經做過的工作,特別是使用T4模板語言/解釋器嵌入在Visual Studio中。

1

看看這個想法。它使用通用存儲庫和工作模式單元。

http://elegantcode.com/2009/12/15/entity-framework-ef4-generic-repository-and-unit-of-work-prototype/

也在於此。

Advantage of creating a generic repository vs. specific repository for each object?

我已經實現了基於這些想法的東西。你可能也想看看使用服務層更多的接口等比書呆子晚餐示例顯示。

與教程一樣好,它不是真的適合在企業應用程序中使用,因爲它仍然相當緊密。

希望這會有所幫助。

0

雖然它不是直接關注MVC,但我很喜歡使用NetTiers http://nettiers.com這種基礎。我們從Db表和索引開始,然後生成存儲過程及其相關數據和服務層代碼。之後,我們添加我們自己的自定義存儲過程,創建一個豐富(且易於理解)的基礎。通過這種機制可以輕鬆適應未來的變化。

我們還將代碼生成插入到我們的Nant構建過程中,提供了更新所有世俗「管道」代碼的非常快速的方式,使我們能夠專注於有趣的東西。

我們剛剛開始使用MVC,並發現netTiers服務層與它很好地協作 - 隨着我們的MVC體驗增長,時間會告訴我們。我希望這有助於!

2

我沒有使用太多,但也許你可以創建一個codesmith模板來處理這個。 http://www.codesmithtools.com/

我已經看到它在Nettiers和其他一些場景中用得很好。

-2

創建一個框架!

+0

已經有一個框架。很多工作都是圍繞框架的方式來完成的,但對於一個只想完成填充任務的人來說,創建另一個框架是一個非常大的項目。 – cHao 2010-08-08 14:38:32