Чему научился:
ImageIcon icon = new ImageIcon - создание экземпляра класса return icon.getImage - выцарапывание этого экземпляра из класса observer: this - следить за актуальностью объекта. Наблюдатель — это поведенческий паттерн, который позволяет объектам оповещать другие объекты об изменениях своего состояния.
Что было сложным:
В каких случаях используется Наблюдатель?
Если один объект должен передавать сообщения другим объектам, но при этом он не может или не должен знать об их внутреннем устройстве; В случае если при изменении одного объекта необходимо изменять другие объекты; Для предотвращения сильных связей между объектами системы; Для наблюдения за состоянием определенных объектов системы;