3

我將不得不在1月份用ASP.NET MVC3/C#編寫一個大系統,並且需要知道如何編寫一個系統WORK。我對ASP.NET MVC和C#有一些經驗,但不會稱自己爲專家。它需要具有可擴展性,以便以後可以使用新功能進行擴展。怎麼會這樣呢?有沒有詳細解釋這個主題的書籍,還是應該使用試驗和錯誤?如何在ASP.NET MVC中編寫一個良好的核心架構MVC

總之,我需要知道我的代碼中的良好設計實踐,它可以延伸到未來。

問候 烏鴉

該系統將是一個社區門戶網站與論壇等收視率不能說比< <公司政策更多>>,我可以因爲大量的開源產品管理論壇...但其餘的取決於我。

+0

我也必須寫系統的工作,試着告訴我們什麼類型的系統 – Woot4Moo 2010-11-24 19:24:40

+0

不確定你在問什麼,但這個問題可能會幫助你:http://stackoverflow.com/questions/656455/building-a- cms-in-asp-net-mvc另一個是http://stackoverflow.com/questions/325182/ideas-for-opensource-cms-in-asp-net-mvc – johnny 2010-11-24 19:25:59

+0

你肯定需要一個好的核心架構師! – Lorenzo 2010-11-24 19:28:48

回答

2

Professional ASP.NET MVC 2是一個很好的起點,但我認爲他們也會推出MVC 3版本。 NerdDinner教程包含了很多關於如何構建應用程序的想法。

基本建議:使用MVC架構,而不是反對它。理解您的應用程序,尤其是您的數據模型,並將其分層到您的應用程序結構中。通常情況下,每個模型都有一個控制器,但並非總是如此。

如果您需要更詳細的建議,您需要更具體地瞭解您的項目。我會建議您提供有關您設計的各種細節的具體問題,而不是涉及整個項目的單個問題。後者可能不會得到你想要的那種迴應。

+0

我已更新我的主帖。我明白你的觀點,但我害怕說太多。公司政策是一個痛苦。 – RaVen 2010-11-24 19:37:37

5

關於核心基礎架構/架構,SharpArchitecture是一個很好的開始。這絕不是完美的解決方案......但是它們給你一個很好的框架來玩,並且你可以快速地建立一個工作系統,同時學習那些工作的概念並且不會隨着時間的推移而工作。看一看,看看你的想法。它使用NHibernate,Castle和MVC。

11

SOLID ==巨大成功

在任何項目遵循SOLID原則,你會做得很好。

1

如果它必須是可擴展的,請確保您編寫測試。長期來看,當你解決某些問題時,你可以節省不眠之夜,但最終會打破整個系統。

至於如何使事情「工作」 - 這取決於你的能力。閱讀,並期待改進,但不要陷入過早的優化或它會讓你死在水中。

3

測試驅動的開發將確保您的項目的質量。對自己嚴格要求,紅綠色折射鏡。 MVC的優勢之一是測試更容易。

0

根據你的編輯和你的能力,選擇一個用ASP.NET MVC編寫並支持它的開源CMS可能更爲明智。你的技能足夠好,聽起來像是學習如何編寫模塊併成爲更大社區的一部分。你聽起來並不像你真的想寫完整件事情,因爲你對自己的技能,期限等很怯懦。在學習一段寫得很好的軟件的細節的同時,有一天你可以選擇編寫自己的或貢獻到軟件的核心部分。有幾個可以選擇的問題請參閱上面我的評論。

編輯:我也認爲這會讓你剛剛開始,並不擔心每個設計範例的人都會拋出你的成功。

0

WhoCanHelpMe是一個很好的參考應用。它建立在S#arp Architecture上,這對於使用域驅動設計的MVC應用程序來說是一個很好的起點。這也可以幫助您連接IoC和db-stuff。

請記住,並非每個示例和框架都適合您的要求,所以請按照jFar的說法,考慮SOLID並根據校長做出您自己的決定。

您還應該查看MEF的可擴展性。