Я читаю "Чистый код" и не могу понять, как сохранить некоторые из моих функций (обычно конструкторов) в их MAXIMUM из 3 параметров.
Часто мои объекты нуждаются в большом количестве информации для работы - должен ли я создать небольшой конструктор, а затем использовать функции mutator, чтобы предоставить им всю информацию? Это не похоже на использование большого конструктора.
В качестве примера у меня есть класс "MovablePatch". Он позволяет пользователю перетаскивать квадрат в окне. Он нуждается в нескольких параметрах, включая Radius, Color, Renderer, InitialPosition и Visibility. В настоящее время я собираю все это из своего графического интерфейса, а затем звоню:
MovablePatch(int radius, Renderer* renderer, Color color, Position initial, bool visibility)
Это лишь некоторые из вещей, которые мне нужны в этом классе. Может ли кто-нибудь предположить, как еще я могу упаковать эту информацию, чтобы перейти к конструктору? Я не вижу никаких очевидных "разбить его на более мелкие классы", которые появляются здесь.