2010-08-09 34 views
2

最近,我覺得我已經到達了我需要跳槽來繼續改善自己的牆壁。我正在閱讀由Steve Sanderson編寫的Pro ASP.Net MVC2書,他在整章中持有你的手,同時引入了Dependancy Injection和抽象接口。開發人員的下一步是什麼?

我意識到這對我來說是全新的,我很難理解和應用。當然,我遵循了代碼,但所有開發人員都知道,有一點你腦海中的某些東西點擊,一切都很清晰。

我還沒有達到那一點。

這本書在介紹中解釋了幾個開發人員的刻板印象。 SmartUI開發者,那些在控制事件中編寫行動的人;分層開發人員,那些使用三層架構的開發人員。

我陷入後者,但我確實知道100%SmartUI開發者的專業開發人員。專業意思是他們爲創建應用程序而付費。

開發人員可以做什麼來跳過這個障礙?我相信每個人都會在某個時候面對它。作爲一名優秀的三層開發人員,我的下一步是什麼?

我應該閱讀關於依賴注入嗎?我應該先學習並熟練使用單元測試,並對測試驅動開發感到滿意嗎?

我的下一步行動是什麼?

隨意將標籤更改爲更具描述性的內容。

回答

3

閱讀學習是很好的學術課,但如果你想掌握它,你需要使用這些技巧。

我發現最好的是在一個超出我的頭腦的項目上工作,直到我能找出解決方案,並且我可能以這種方式快速發現技術的侷限性。

直到你使用它,你不會真的能夠理解它。另外,如果有人問你關於這些技術的問題,如果你不能解釋他們,你就不會真正瞭解他們。

因此,您可以在編寫該程序時嘗試撰寫博客,解釋您做了什麼以及爲什麼,這樣您可以更好地理解您做了什麼,並解釋了爲什麼要這麼做,以及你學到了什麼。

1

瞭解軟件開發中的工具和技術的最佳方式是將它們應用於實際項目中。如果您想了解依賴注入,請查找或啓動一個使用依賴注入的項目,並讓它激勵您的閱讀。單元測試或一些新的框架或語言也是如此。

依賴注入的具體的話題,我發現在吉斯本頁面維基什麼DI實際上你買一個相當不錯的概述:http://code.google.com/p/google-guice/wiki/Motivation?tm=6

2

什麼詹姆斯說,類似的,我有兩點建議(或可能的方法)可以幫助你:

  • 尋找一個小型(ish)開源項目,被認爲是「最佳品種」,並對其進行改進。您可以通過看別人的代碼,學習新技術,同時找到挑戰自己
  • 開始新的東西自己,問很多的問題,當你得到真正卡住(這裏,論壇等)

我建議因爲很少有大型項目遵循書中提出的「最佳實踐」。我知道很多人在這裏會不同意,但是大型項目和完全面向對象的代碼並不總是很好地結合在一起。

+0

嗯,我不同意開放源代碼的方法,你最好用自己試圖學習的原則編寫自己的應用程序。操作系統必須符合已經存在的結構和標準(這可能不是最適合學習的環境),並且您可能無法在適合您目標的應用領域工作。 – slugster 2010-08-09 02:05:59

+0

我並不是主張成爲一個長期的開源貢獻者(甚至是一個人),而是把它作爲一個學習平臺。從頭開始的問題是,需要很長時間才能將書中的「最佳實踐」正確應用於綠色領域解決方案。如果你可以通過一個很好的開源C#項目瞭解自己的方法並開始修改,那麼它可以是一個更快的方法來適應這些概念。同樣可以說是從一本書中抽出一本經過深思熟慮的示例應用程序並運行它。 – Andrew 2010-08-09 02:49:28

1

這也是我發生的事情。我可以完全與你的情況有關。

我通過在MVC中構建自己的博客引擎,使用結構圖作爲IOC並以測試驅動的方式克服了障礙。這非常有趣,我一路上都瞭解了這些概念。

我建議你選擇一個側面項目,使用MVC實現它,使用IOC和一路驅動測試。

對於IOC,請閱讀Rob Conery的這篇文章。 http://blog.wekeroad.com/smackdown/200-page-manual-on-inversion-of-control-plus-or-minus-199/

+0

「你需要了解的代碼數量至少會增加一個,而在天堂的某個地方,天使會大聲疾呼。」感謝您的鏈接!非常豐富和簡單易懂。我要訂閱他的RSS訂閱源。 – 2010-08-09 02:13:15

相關問題