2009-08-07 63 views
4

最近我一直在討論處理n層體系結構中鏈接的最佳方法。應該如何完成通信在層之間的n層應用程序?

目前我正在做的方法是引發和處理層之間的異常錯誤,並使用事件/委託進行其他通信(以更新進度條等)。這些是最好的方法,還是有另一種我忽視的方法會被認爲是更好的做法?

+1

澄清你的意思是由n層。按照我的定義,異常不能通過上或下層,因爲它們(可能)運行在不同的計算機上,並且您需要某種形式的網絡層來處理此類通信。在這種情況下,我期望像RPC這樣的答案,針對該問題的消息隊列和針對諸如此類的UDP。等等。 – jmucchiello 2009-08-11 18:25:27

回答

1

異常確實是處理低層錯誤的好方法。

在我看來,當擁有另一個對象的一個​​對象需要定製該對象時,委託是最有用的。如果你的層在邏輯上「擁有」較低層的對象,那麼這可能是有意義的,否則,我可能會避開委託模式並使用事件。

1

我會說你在正確的軌道上執行異常處理 - 這就是責任鏈模式的實現。把這個例外放在鏈條上總是很好的。至於另一個(事件/代表),我不太瞭解你的發言,所以不能對此發表評論。

1

我試圖使用適配器模式。主要對象位於邏輯層中並使用複合對象進行包裝,以便表示層和數據訪問層可以工作。大多數演示和數據訪問層類都使用接口。包裝(複合)對象位於表示層和數據訪問層,並實現這些層的接口。

除了複合對象,還有控制器對象可能會從邏輯對象中提取數據並創建新對象(即字符串列表)。