我希望这样做是合适的。
给定两个类: ClassA是应用程序的主控制器对象。ClassB控制硬件设备(通过网络、USB、串行等)。ClassA创建一个ClassB对象,并使用它从硬件设备发送/接收数据。
当用户想要关闭应用程序时,ClassA会向ClassB发送一条"shutdown“消息。在某些情况下,ClassB需要较长的时间才能完成关闭。也许它必须将硬件重置为已知状态,或者等待正在进行的操作完成。
在ClassA和ClassB之间进行通信以最小化耦合的最佳设计模式是什么?关闭消息中的回调(方法或块)?使用定义的"shutdownComplete“方法的委托协议?还有别的吗?
此外,ClassB实际上是一个“抽象”超类,因为有多个硬件设备,所以每个硬件设备都有一个subclassB。我不认为这会影响设计。
谢谢!
发布于 2011-09-08 22:46:08
我会使用块回调:
- (void) initiateShutdownWithCompletionHandler: (dispatch_block_t) callback;https://stackoverflow.com/questions/7348725
复制相似问题