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