Прямой доступ к timer.timerDisplay звучит как плохая идея (поскольку открытые атрибуты большую часть времени). Если вы не хотите, чтобы класс timer занимался связью с timerDisplay, то почему timerDisplay является свойством таймера? Просто пусть тот же парень, который обновляет таймер, сам владеет дисплеем.
С другой стороны, если вы хотите, чтобы класс Timer управлял обновлением дисплея, то ограничение его управлением только одним дисплеем звучит не очень хорошо. Почему бы не сохранить список дисплеев для уведомления вместо этого? Если вы решите, чтобы таймер осуществлял такую связь, то лучше всего скрывать его за методом Timer.update.
Кроме того, если вам не нравится, когда TimerDisplay имеет методы, слишком похожие на таймер, возможно, вы можете использовать более простой метод, такой как
TimerDisplay.updateFrom(timer)
используя timer.getHours () и т. Д. Вместо передачи тонны параметров каждый раз.
Наконец, в зависимости от того, насколько сложна ваша проблема, вам может быть не просто объединить оба класса в один класс. Он менее модульный, но простота также имеет свои достоинства.