У меня есть несколько классов транспортных средств, таких как грузовик, седан, фургон, мотоцикл.Общим для них является то, что все они перемещаются, поэтому я делегирую его классу перемещения, который содержит следующие методы:
getSpeed()
setSpeed()
getDestination()
setDestination()
..
..
..
move()
Некоторые транспортные средства движутся не так, как другие, поэтому я делаю для них шаблон проектирования завода.Поэтому, если это будет автомобиль (грузовик, седан, фургон), он будет делегирован классу MoveCarImpl или, если это мотоцикл, он делегирует классу MoveBikeImpl.Моя проблемаУ велосипеда и автомобиля практически одинаковый алгоритм move ().Единственное отличие состоит в том, что алгоритм bike вызывает 1 дополнительный метод в конце метода move (), а алгоритм move () автомобиля - нет.Так что теперь у меня много дублирования кода в классе MoveCarImpl и классе MoveBikeImpl.Есть идеи как с этим бороться?