2011-07-07 63 views
2

我們計劃升級我們的網站並使用N-TIER設計。我已閱讀 this article這在我看來是相當不錯的。
我的問題是:
1)這種架構仍然適用於設計應用程序嗎?
2)我們是否應該使用其他體系結構,如洋蔥,3層,ddd等?
3)在Service Layers文章中提出我們劃分數據消息和命令,最好的實現是創建兩個服務一個用於數據,一個用於命令?
感謝Web應用程序/程序設計架構

+1

你真的不能指望我們讀150頁回答你的問題。也許用你的問題來回答,指出你想要建議的具體建築領域,而不是「這仍然有效」。很多架構(特別是DDD)是優先的,因此將是一個主觀的答案。 – RPM1984

+2

不是一個真正的問題。請關閉 – Raoul

+0

@ RPM1984 - 我不希望任何人閱讀一篇150頁的文章(除非他想)回答我的問題,如果他知道它或建議的架構,並且煽動這件事,那很好。有時候問題的方式比它自己的問題更重要。謝謝你回答關於DDD的問題,我會研究一下。 – guyl

回答

1

架構取決於你需要創建,項目和業務邏輯,可擴展性,可維護性,你應該實現,你可以很容易地改變你的代碼和道路項目中的任何方式的複雜性做什麼項目層和類應該更多 解耦你應該使用ASP.NET MVC作爲應用層,並且我建議使用IoC-contaners進行依賴注入,你可以從3層架構開始用 存儲庫數據訪問層,Services類業務邏輯層,ASP.NET MVC應用層 和另一件事你應該使用ORM像Nhibernate或實體框架 如果你有一個複雜的領域,你應該看看DDD

+0

請解釋一下,如果你可以,你有什麼意思的「複雜的領域」 - ? – guyl

+0

我的意思是說,如果你有一個複雜的業務邏輯和大型域名看DDD。你的項目是商業應用程序嗎? – Serghei

+0

是的,它是完整的b2b門戶。 – guyl

1
  1. 是這篇文章仍然是一個很好的文章
  2. 這真的取決於你的 技術和功能 要求。您不能從 體系結構開始,並假定 實現將適用於任何 應用程序。
  3. 查看2
1

這確實取決於應用需求。

我傾向於選擇4層設計中,我有:

  1. 數據訪問
  2. 實體
  3. 外立面
  4. UI

但是我已經與開發商合作誰更喜歡使用純業務對象。那就是對象本身並不是數據存儲中記錄的真正表示,它們本身包含執行他們需要執行的操作所必需的所有功能。這包括數據訪問。其中一個例子是CSLA.NET

我覺得這個討論的在經驗基礎上,雖然意見無底洞:)

+0

這個討論是在我看來,計算機科學的本質,我愛他們:)。謝謝 – guyl