最佳实践:处理代表它们的类中的硬件断开连接

时间:2010-01-26 02:24:58

标签: vb.net error-handling hardware usb hardware-interface

我在VB.Net开发数据记录软件。我开发了一些实现通用接口的类,它可以与我公司生产的许多数据记录器一起使用。这些类处理低级硬件接口,并公开访问数据记录器记录的常用方法。

我的问题是处理突然断开硬件连接的人会有什么好处?我应该抛出异常,引发事件,还是在某种状态包中返回false?

我的基本想法是,我希望对象在其所代表的设备断开连接时通知发送方,然后以某种方式与DeviceLocator类(自动检测设备并维护集合)通信已断开连接并将其从设备集中删除并处理。

任何提示?

1 个答案:

答案 0 :(得分:1)

在较高级别,我认为您应该从“驱动程序”层返回结果代码或错误消息。在路上,您可能希望将数据包暴露给不同类型的客户端。如果您有WCF客户端或调用Web服务的移动客户端,则抛出异常或引发事件是没有用的。您必须创建另一个捕获这些条件的图层并为每个客户端翻译它们,所以为什么不在尽可能低的水平上执行此操作。

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