2

我正在閱讀大量的體系結構(N層和DDD),但大多數文章都是關於網站架構並主要開發Windows服務的。
架構可以用同樣的方式嗎?ASP.NET N層/ DDD體系結構和Window服務軟件體系結構之間有區別嗎?

+0

您是否意味着您主要創建Windows服務,並且您想知道DDD/N-Layered是否適合創建它們的體系結構? –

+0

我的意思是使用這種架構來構建軟件本身,它沒有用戶界面。 – guyl

回答

3

軟件體系結構中「層」的主要目標是區分顧慮;您的程序邏輯應與數據持久性和用戶界面分開。

Windows服務將不會有一個用戶界面,但你仍然可以提高效率,保障和邏輯分離的功能降低未來變化的影響。例如:

  • Windows服務層:負責開展服務,把手定義的事件和異常 - 有點類似於Web應用程序的UI層,但顯然沒有UI
  • 業務層:類執行你的處理和封裝邏輯
  • 持久層:數據和狀態數據庫,XML,註冊表文摘持久性,無論

所以大多數的你看了關於Web架構的概念可以適用,而且大多數的工具可以使用對於Windows服務也是如此。

1

是的,當然,除了Windows服務可能沒有太多的UI層,如果有的話。只是一個輕量級的runnner方法左右。

0

雖然服務是不同的,因爲他們沒有一個UI元素給他們,但是有很多方法可以使用,在(N-分層,DDD)即發展原則適用的原則。

因此對於例如服務共享模式和契約,而非類即它們被設計在接口上使一個窗口服務可以是基於REST的服務以及WCF服務,但不是再次它也可以撥打下面的存儲庫。