我正在设计一个环绕 Linq2SQL 引擎的游戏。
除其它对象外,该游戏还有用户和 NPC (非玩耍字符) 。
用户和国家专利委员会的能力略有不同,但也有一些共同的特性,如健康或损害程度。
这些活动采用以下方法进行: lese攻击用户(用户攻击者、用户目标)
。
这里的问题是,NPC系统也可以攻击用户和其他NPC系统,用户也可以攻击NPC系统,所以我必须写出相当几种额外的方法和超载(例如, eve attackNpc(用户攻击器,Npc npc)
)。
我可以使用 Linq2SQL 的继承特征来简化所有这一切, 使用 1 个通用表格生物, 而不是用户和 NPC 。 这样也可以让我使用一种通用的方法, < code> 避免攻击( 自然攻击者、 生物目标) < / code >, 而不是多种版本 。
另一方面,Linq2SQL的继承问题似乎大大增加了解决方案的总体复杂性。 每次我决定改变用户或NPC,我都需要考虑继承问题。此外,Linq2SQL的继承问题,Linq2SQL的用户和NPC的单独表格不够清晰,因为一切都被抛在一张桌子上。最后,我担心这种综合生物表的性能。
很难决定我是否应该或不应该在这里使用遗产,因为如果我选择一种次优的办法,今后就很难转而采用另一种办法。
我想听听专家对此的意见。
谢谢