В студенческие годы я никогда не понимал, какие шаблоны были в Java API.Сейчас на работе я столкнулся с паттерном «Делегирование» в Objective C n Cocoa на iOS, где один экран устанавливает себя в качестве делегата на следующем экране, чтобы этот экран мог передать какое-то сообщение этому делегату и предпринять некоторые действия, когда он возвращается к предыдущемуscreen.
Я понимаю, что я использую что-то подобное, когда я передаю «this» как ActionListener [путем реализации интерфейса] в JButton, и он автоматически вызывает actionPerformed, реализованный мной в этом классеи, таким образом, я могу изменить любые данные экземпляра в своем классе JFrame.
Так является ли ActionListener примером Delegate, если я прав?
РЕДАКТИРОВАТЬ: Как правильно указано ниже, это шаблон наблюдателя.Мы не устанавливаем ActionListener, мы добавляем один.Таким образом, может быть много слушателей этого действия.