class — концепция простого c ++ проекта с 2-мя классами для ввода и результатов расчета

Есть ли кто-нибудь, кто мог бы дать мне некоторые основные идеи о планировании концепции моего проекта C ++?

У меня есть графический интерфейс с 2 строковыми изменениями, кнопкой и полем результатов. (Позже я хочу иметь много строковых правок для ввода и результата, но сейчас я хочу сделать это проще)
Моя идея состояла в том, чтобы объединить все мои входные данные в новый класс (класс INPUT). Для результата я хочу объединить все данные результата в другом классе (класс RESULT). Для расчета результатов я хочу создать метод (что-то вроде РЕЗУЛЬТАТЫ Сумма (ВХОД в) ).
Я не хочу делать все это только в одном классе, мне нужны классы ввода и результата, потому что в окончательной версии у меня будет много полей данных

Это была бы хорошая концепция?
Если да, то где бы я написал метод расчета (sum ())? В классе INPUT, классе RESULT или main.cpp?

2

Решение

Обычно, если у вас есть такой дизайн ввода / вывода (или результатов), вам нужен какой-то третий объект: evaluator/operator что-то вроде того, где вы вводите данные и получаете результат в результате.

Так что если вы хотите гибкости, я бы посмотрел на это как на три объекта, а не на два:

  1. input инкапсулировать пользовательский ввод.
  2. evaluator/operator который принимает вход и выводит result,
  3. result инкапсулировать вычисленный результат от оператора.

Это даст вам три отдельных объекта: один для сосредоточения на вычислениях, а два других для представления данных.

Это также характерно для узловых конструкций, например:

введите описание изображения здесь

Это очень гибкий дизайн, но предлагает несколько относительно простых evaluators принимая несколько простых входов и выходов.

Это может быть излишним в вашем случае, если вам нужен только один сложный анализатор и одна сложная строка ввода и вывода. Но я все еще придерживаюсь этого разделения между 3 объектами и интерфейсом для менее монолитного / суетливого дизайна и четкого разделения обязанностей.

0

Другие решения