我总是怀疑何时选择这两种模式中的一种。例如:假设我有一个输入管理器,当我按下一个按钮时,我希望主玩家执行跳跃动作。在这种情况下,我可以使用 2 种不同的解决方案:
- 我有一个 inputManager 告诉 GameManager 刚刚添加了什么,而 gameManager 告诉 Player-manager 采取行动。所以它类似于: inputManager ---> Game manager ---> Player-manager 这就是责任链模式。
- PlayerManager 在 inputManager 上注册跳转事件以接收输入,并且 PlayerManager 自动执行其跳转例程。
所以我的问题是:为什么我会选择一种模式而不是另一种模式?两者各有利弊,那么当您遇到这种情况时,您首选的解决方案是什么?