我应该有 2 个单独的班级,一个用于"logic",一个用于"graphic interface"?

Should I have 2 separated classes, one for the "logic" and one for the "graphic interface"?

本文关键字:一个 用于 logic graphic interface 我应该 单独      更新时间:2023-10-16

我正在开发一些东西来训练自己C++和框架Qt。

我有几个类,例如:怪物,武器,物品等... 游戏的基本用例如下:在一系列怪物中选择一个怪物进行战斗,或者在一系列武器中购买武器。

所以我需要显示这些东西,所以我为每个类创建了一个 Widget 类:MonsterWidget、WeaponWidget 等。

MonsterWidget.h

class MonsterWidget : public QWidget{
QLabel healthPoint;
QLabel baseDamage;
Monster monster;
void updateLabelsFromMonsterObject;
}

怪物.h

class Monster{
int healthPoint;
int baseDamage;
bool isAlive();
void attack();
...
}

我想我也可以这样做:

怪物事实

class MonsterWidget : public QWidget{
QLabel healthPoint;
QLabel baseDamage;
int healthPoint;
int baseDamage;
void updateLabelsFromValues();
bool isAlive();
void attack();
...
}

但是因为我没有很多经验,我不知道在我的情况下什么是最好的,如果我应该有 2 个单独的类,一个用于"逻辑",一个用于"图形界面",或者我应该合并它们?

谢谢:)

您应该阅读有关设计模式的信息。 在您的情况下,请尝试使用 MVC 模式。 并将逻辑与视图分开。

相关文章: