有没有人可以给我一些关于规划我的c ++项目概念的基本想法?
我有一个带有2行编辑的GUI,一个按钮和一个结果字段。 (后来我想对输入和结果进行很多行编辑,但是现在我想保持简单) 我的想法是将所有输入数据组合到一个新类(类INPUT)中。为了得到结果,我想将所有结果数据组合在另一个类(类RESULT)中。为了计算结果,我想创建一个方法(类似 RESULT sum(INPUT in))。 我不想只在一个类中完成所有这些,我需要输入和结果类,因为我将在最终版本中拥有许多数据字段
这是一个好主意吗? 如果是这样,我会在哪里编写计算方法(sum())?在INPUT类中,RESULT类还是main.cpp?
答案 0 :(得分:0)
通常,如果你有这种输入/输出(或结果)设计,你需要一些第三个实体:evaluator/operator
类型的东西,你输入输入并得到输出结果。
因此,如果你想要灵活性,我会把它看作三个实体,而不是两个:
input
封装用户输入。evaluator/operator
接受输入并输出result
。result
封装运算符的计算结果。这将为您提供三个独立的实体:一个专注于计算,另外两个实体来处理代表数据。
这对于节点设计也很常见,如下所示:
这是一个非常灵活的设计,但建议多个相对简单的evaluators
采用多个简单的输入和输出。
如果您只需要一个复杂的求值器和一个复杂的字符串输入和输出,那么在您的情况下可能会有些过分。但我仍然坚持这种3实体/界面分离,以减少整体/繁琐的设计和明确的职责分离。