簡體   English   中英

企業應用程序中的表示層體系結構

[英]Presentation layer architecture in an enterprise application

在我們公司,我們正在開發一個包含幾個模塊的應用程序。 該體系結構已經定義好,但是我對表示層有幾秒鍾的想法,我真的很想聽聽您的意見。 架構如下:

我們在Foreach模塊中創建了幾個名稱空間,這些名稱空間將在其自己的類庫中進行編譯。 因此,對於我們的CRM模塊,我們創建以下內容:

  • ProductName.CRM.ServiceLayer(保存CRM模塊的servicecontracts接口)
  • ProductName.CRM.ServiceLayer.Implementation(實現CRM模塊的servicelayer接口)
  • ProductName.CRM.BusinessLayer(保存CRM模塊的業務組件)
  • ProductName.CRM.BusinessLayer.BusinessObjects(保存CRM模塊的businessObjects)
  • ProductName.CRM.DataLayer(保存CRM模塊的DAO接口)
  • ProductName.CRM.DataLayer.SqlServer(實現CRM模塊的數據層接口)

我們為財務,HRM,供應等模塊創建相同的類庫結構:

  • 產品名稱。財務...
  • 產品名稱.HRM ....
  • 等等。我想您現在會明白的:)

我們還考慮了“交叉問題”,為此,我們創建了以下名稱空間和類庫

  • ProductName.Framework.ExceptionHandling
  • 產品名稱。框架。記錄
  • 產品名稱。框架。安全
  • 等等...

到目前為止,這就是我們的體系結構,現在,我正在嘗試尋找一種設置PresentationLayer的正確方法。 例如,我應該為每個模塊創建一個PresentationLayer庫(ProductName.CRM.PresentationLayer,ProductName.Finance.PresentationLayer等)。 並創建一個整體ProductName.PresentationLayer-library,該引用具有對所有其他Module.PresentationLayer-libraries的引用。 然后,此整體ProductName.PresentationLayer將具有Login / MainForm功能,並具有啟動在PresentationLayer模塊之一中實現的表單的功能。 就像應用程序進入其他模塊的入口一樣。

要么...

我應該只制作一個ProductName.Presentation-library,其中包含所有模塊的所有表單。 這樣,我可以輕松導航到其他表單,而不必擔心模塊之間要使用其他表單時的引用(有時它們會這樣做)。

第一個解決方案對我來說聽起來不錯。 但是,當來自不同模塊的表單想要相互導航時,將很難實現這種功能,因為這兩個功能中只有一個可以引用另一個功能。

我真的很想聽聽您對我正在處理的問題的意見,也許有人可以給我適當的解決方案或想法,讓我可以使用。

在此先感謝,干杯!

如果表單需要交換數據,則始終可以創建表單實現的接口。 實際上,擁有很多相互了解的表格可能不是一個好主意,因為從長遠來看,這會造成維護和增強問題。

通過使用接口和可能的某種Locator服務,您可以避免在表單之間進行嚴格的依賴關系-然后您可以自由使用任何一種架構模型(1個大型程序集與許多較小的程序集)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM