2010-01-26 23 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服务的移动客户端,则抛出异常或引发事件是没有用的。您将不得不创建另一个层来捕获这些条件并为每个客户端翻译它们,所以为什么不在最低的层次上进行。

更详细的答案取决于您的实际架构。例如,您是否使用委托向消费者通知新数据?当出现错误情况时,为什么不能有一个正在调用的委托。