2012-06-19 34 views
0

最近我似乎在努力組織我正在使用的所有不同的課程/對象。就我而言,我爲一家擁有三種不同核心產品的公司工作,但共享一些核心功能。所以,他們也會分享課程。爲了更多地渾水,我正在編寫ASP.NET MVC應用程序 - 它具有Classes的隱式位置(Model文件夾)。哪裏可以放置我的課程/對象 - 一般項目設計

所以 - 這裏是我們目前正在做的事情。我打算將該產品稱爲NewProductxxx是公司名稱:

  • xxx.Core - 在所有產品中使用的類。這些可以是幫助函數,具有邏輯的實際類等。
  • xxx.NewProduct.Web - NewProduct的MVC Web應用程序。模型文件夾是空的。
  • xxx.NewProduct.WindowsService - Windows服務 - NewProduct的一部分。
  • xxx.NewProduct.Models - 基本上,這取代了MVC Web應用程序中的Models文件夾。他們在他們自己的項目中,這樣DomainLogic可以填充它們並將它們傳遞迴MVC應用程序。
  • xxx.NewProduct.Objects - 類與邏輯(不只是骨架等模型),它們網絡WindowsService之間共享。
  • xxx.NewProduct.DataAccess - 這是DAL,對我這裏的問題並不重要。
  • xxx.NewProduct.DomainLogic - 這是業務邏輯層(調用DAL)。另外,如果我們將來要編寫一些其他應用程序(移動,桌面等),這些應用程序也可以重複使用。

我的主要問題是,當我試圖決定放置對象的位置時,有時候我不知道放在哪裏。這是正常的嗎?別人有這個問題嗎?有什麼建議麼?

回答

1

當然是正常的!沒有一種正確的方式來劃分你的模塊。但不要在這上面花太多時間。我們生活在IDE時代 - 你可以隨時重構。對我而言,最重要的是可讀性。當其他來自團隊的程序員尋找某些類/功能時,他們不應該感到驚訝 - 就這些了。例如我不知道我能找到什麼模塊命名對象(但我不知道.net或您的應用程序的具體情況)。

相關問題