Я думаю, что интервьюер пытался изучить знания об «абстракции» и «сокрытии данных».
Поскольку интервьюер спросил: «Некоторые люди толкают, чтобы закрыть», «Некоторые люди толкают больше, чем нужно» и т. Д., Он искал, чтобы абстрагировать одну функцию под названием «Закрыть».
Fridge fridge = new Fridge();
fridge.close();
Ответ был бы - я бы абстрагировал функцию, называемую close (), которая будет вычислять, сколько усилий требуется, чтобы закрыть дверцу холодильника и закрыть ее. Как только мы сделаем это, даже если вы нажмете или нажмете еще раз, метод close вычислит, какое усилие необходимо, чтобы закрыть и закрыть его.
Реализация скрыта. Он может реализовать простую кнопку закрытия на холодильнике, которая будет использовать питание от двигателя и закрыть его. ИЛИ, какую бы силу ни прикладывал пользователь, он просто примет усилие, необходимое для закрытия, и аккуратно закроет холодильник, не издавая звуков
Инкапсуляция: Я не уверен, что это технически считается образцом (я давно не разбирался с ними), но это хорошее правило, чтобы жить. По сути, инкапсуляция означает, что вы должны раскрывать только то, что необходимо для использования объекта или элемента управления, и не раскрывать то, что может привести к созданию ненужных зависимостей. Как правило, чем меньше у вас зависимостей, тем лучше.