【问题标题】:Should I have 2 separated classes, one for the "logic" and one for the "graphic interface"?我应该有 2 个独立的类,一个用于“逻辑”,一个用于“图形界面”?
【发布时间】:2020-09-02 16:21:27
【问题描述】:

我正在开发一些东西来训练自己使用 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();
    ...
}

我想我也可以这样做:

MonsterRefacto.h

class MonsterWidget : public QWidget{
    QLabel healthPoint;
    QLabel baseDamage;
    int healthPoint;
    int baseDamage;

    void updateLabelsFromValues();
    bool isAlive();
    void attack();
    ...
}

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

谢谢你:)

【问题讨论】:

    标签: c++ qt architecture


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多