如何解决定义可变事件触发器的最佳实践?
总结:当我扩展我的代码以包含新类型时,缓解必须修改以前的函数的问题的最佳实践是什么,当有许多以前的函数时,包括一些新的触发器(基本上,一个函数调用)事件侦听器(基本上是具有新方法的类对象)?
我们开始:
我正在创建一个游戏,其中不同类型的角色具有不同的能力。
假设我有一个字符 A,它会影响其他字符。我创造了更多的角色,B、C 等等,它们都做不同的事情。
现在我想创建一个角色 X,它在被击中时会做一些事情。在调用字符 X 的when_struck() 方法的字符A 的strike() 方法的末尾添加一些代码将是微不足道的。
然而,我创建的一些其他角色可能有一些其他的能力,应该调用角色 X 的 when_struck 方法()。现在很难返回并找到我需要将这个调用插入每个字符代码的所有位置 - 特别是如果我最终创建了数百种类型的字符。也许我的第 101 个角色应该有一个 when_healed() 方法。现在我必须去寻找执行某种治疗的所有角色的所有能力。
制作监听器更容易,因为我可以让所有角色成为同一个父类的子类,并添加新方法,when_struck()、when_healed()、when_hell_freezes_over() 等。但是,向其中添加触发器似乎要困难得多适当调用新字符方法的旧函数。
为了帮助防止他们不得不重新访问一个极其冗长的程序来查找应调用新型触发器的所有实例,您有什么建议?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。