我需要用Player设计应用程序的架构。
Player的目的是播放音乐。Player具有播放、停止、暂停、loadSong等控件。
User和APController都可以使用Player。APController和User可以使用Player,但User的优先级高于APController。如果APController正在使用Player播放一些音乐,而User想播放不同的歌曲,这应该是可以的,而不需要等待。另一方面,如果User正在通过Player播放歌曲,那么APController想要播放一些歌曲,那么它必须等待User与Player完成播放,这样它才能进入空闲状态。想想APController,就像一些知道如何使用Player的AI用户一样,但这个AI用户必须尊重User的优先级。
如何设计对此Player的访问。我想我需要一些协调器对象,APController和User需要通过这个协调器与Player进行对话。我还需要一些方法,在Player空闲时向协调器发送反馈(意味着User结束与它的交互),如果APController想使用它,就让APController使用它。
发布于 2017-02-20 18:51:07
对我来说,这听起来像是一个调解人可以帮助你。请参阅https://en.wikipedia.org/wiki/Mediator_pattern
https://stackoverflow.com/questions/42321697
复制相似问题