2010-01-26 25 views
2

我正在開發VB.Net開發數據記錄軟件。我開發了一些類,實現了一個與我公司生產的許多數據記錄器兼容的通用界面。這些類處理低級硬件接口並公開訪問數據記錄器記錄的常用方法。最佳實踐:處理代表它們的類中的硬件斷開連接

我的問題是什麼將是一個很好的做法來處理突然斷開硬件的人?我應該拋出一個異常,引發一個事件,還是在某種狀態包中返回false?

我的基本想法是,我希望對象通知發送者,當它代表的設備斷開連接並失敗,然後以某種方式與DeviceLocator類(它會自動檢測設備並維護一個集合)通信時,它已經斷開並將其從設備集合中移除並處理。

任何提示?

+0

我認爲你的意思是「最佳實踐」。 – aphoria 2010-01-26 02:26:35

+0

已修復,對此感到抱歉。我胖了一下。 – Andrew 2010-01-26 02:27:37

回答

1

在高層次上,我認爲你應該從你的「驅動程序」層返回結果代碼或錯誤信息。在路上,您可能想要將數據包公開給不同類型的客戶端。如果您有WCF客戶端或調用Web服務的移動客戶端,則拋出異常或引發事件是沒有用的。您將不得不創建另一個層來捕獲這些條件併爲每個客戶端翻譯它們,所以爲什麼不在最低的層次上進行。

更詳細的答案取決於您的實際架構。例如,您是否使用委託向消費者通知新數據?當出現錯誤情況時,爲什麼不能有一個正在調用的委託。