gpt4 book ai didi

oop - 使用什么设计模式?

转载 作者:行者123 更新时间:2023-12-02 13:19:51 26 4
gpt4 key购买 nike

我想为我的游戏设计一个易于扩展的项目系统,不需要对现有代码进行太多修改。我想动态添加具有新效果的项目。

我的元素的共同特征:

一个名字,说明,NPC 售价,如果可以装备的话所需级别,如果可以在战斗中使用的话如果它可以在战斗之外使用,冷却时间

所以我可以将其封装到一个类中。但现在有元素效果了。

示例:治愈 x 点生命值,治愈 x 点法力值,移除减益x,添加增益x,提供 x 装备统计点,装备时有 x% 几率创造一些其他效果,等等

这些可以组合起来,例如:治愈 x 生命值和法力点。前四个是可用元素可以具有的效果的示例,而后两个是可装备元素可以具有的效果的示例。

其背后的想法是,我在数据库中也有这个结构,我可以在数据库中添加一个具有新效果组合的新项目,然后我的代码读取此内容并将其一起构建成一个新的奇特项目,而无需我必须修改很多。我唯一需要修改代码的时候是当我明显添加新效果时。

您如何将它们组合到设计模式中?

我想到了装饰器。是否有不同的、更好的设计模式,或者甚至是多种设计模式的组合?

最佳答案

看来装饰器模式很适合您的需求。想象一下具有不同顶部的披萨。你可以用许多顶部扭曲基本的披萨,最后你调用一个函数来总结奖金或其他什么。它是一种包装器,您将对象传递给下一个类。因此,您只需要一个基本类,并且可以在需要时添加新的(顶级)类。

关于oop - 使用什么设计模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13322583/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com