C#在扩展大型类时有利于可读性
|
我有一个处理游戏中武器的大型抽象类。通过一系列基本功能进行战斗:
OnBeforeSwing
OnSwing
OnHit || OnMiss
我想到的是将所有与战斗伤害相关的计算都移动到另一个可以处理此问题的文件夹中。与伤害相关的计算。
我想知道通过将“ 1”方法扩展为扩展名是否正确,或者什么是实现此目的的最佳方法?
也。有时,OnHit代码的某些部分会被修改,命中伤害公式很大,因为它考虑了很多条件,例如抵抗力,转化法术,物品奖励,特殊属性以及其他类似的游戏元素。
这以500行OnHit函数结尾,这让我感到恐惧。即使使用区域指令,也很难通过它而不会迷路甚至分散自己的注意力。
如果我要扩展武器而不是仅具有OnHit功能,可以尝试将攻击的不同部分分成其他功能。
再说一次,也许我可以通过在武器类中从OnHit调用类似CombatSystem.HandleWeaponHit
之类的方法,而不使用扩展方法。可能更合适。
基本上,我的问题是,是否真的将其保留为最佳解决方案,或者是否可以(应该?)将这部分代码移入扩展方法或处理损坏模型的单独的帮助器类中,以及是否应尝试并将功能分为较小的“任务”功能以提高可读性。
没有找到相关结果
已邀请:
3 个回复
替秀宝
翰冒绢县
莽缓逢
该示例完全俗气,只是旨在提供线索以更抽象和可维护的方式重新设计您的系统。 希望对你有帮助 !