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