Запутался с разбиением класса
Допустим есть класс "рабочий", он может строить и ломать. при этом строить он может тремя разными способами, есть так же методы которые могут относиться к строительству, но используются не всегда. Теперь представим что такая же ситуация с методами категории "ломать", т.е. тот же строитель может ломать разными способами , при этом еще пользоваться настроечными для "ломания" методами. Есть тагже общие методы, которые могут пригодится и для строительства и для ломания.... В итоге вся это каша находится в классе рабочий, получился своего рода такой функциональный, вспомогательный класс, и я не могу понять хорошо это или плохо, нужно ли выносить методы "ломания" и "строительства" в отдельные классы и потом внедрять эти классы в класс "рабочий", или просто создать отдельные классы типо "РабочийЛоматель" или "РабочийСтроитель". Может быть оставить всю эту кашу в классе "рабочий" или попытаться как то решить проблему средствами ООП. Подскажите пожалуйста решение, обычно очень много времени трачу на подобные проблемы. Незнаю как быть((
Customer support service by UserEcho
Здравствуйте, Павел!
Иногда в таких случаях, когда результат трудно предсказать, я либо отказываюсь от рефакторинга вовсе до тех пор пока "боль" не станет чётко выраженной, либо создаю отдельный бранч для изменений, провожу там рефакторинг, а затем смотрю что вышло в итоге — стоит ли овчинка выделки.
Хорошо, спасибо, я тоже пока решил оставить весь функционал в одном классе и подождать пока "заболит") трудно предсказать, как в дальнейшем будет производиться работа с классом, поэтому не могу выбрать окончательный вариант