2011-09-07 49 views

回答

5

傳統的N層架構的替代方案是Udi Dahan所討論的Command-Query Responsibility Segregation(CQRS)架構。

就像你真的應該想想,當用它作爲討論here

個人所有的架構決策,我往往會看到很多"over architecture"在我的軟件傳播這才能真正在使問題複雜化,使事情變得更加困難維護費用明顯更高。你首先需要考慮很多關於業務問題的問題,而不是僅僅選擇一個架構。

讓事情儘可能簡單,以獲得最佳結果和輕鬆重構。

5

人們總是應該將Web應用程序分離出來嗎?

你應該分開你的系統的不同邏輯部分,以避免它們被緊密耦合果然使他們更可重複使用。分離它們並不是那麼重要。你可以叫它或其他什麼。

其實有可能是這些層的2個含義:

  1. 物理邊界:客戶端瀏覽器,Web服務器,Web服務的服務器,後端數據庫,...
  2. 邏輯邊界:GUI,服務層, DAL,...

您也可以查看Onion Architecture。但洋蔥仍然有層:-)

+5

標準約定使用**層**作爲物理邊界,**層**使用邏輯邊界。 –

2

對分層體系結構有另一種「模式」。

但這是分層架構試圖解決的反模式。即「泥球大球」:)

+0

好點@Shiraz Bhaiji – vikingben