9 Observer

CLIENTS ORDINARILY gather information from an interesting object by calling its methods. But when an interesting object changes, a problem arises: How do clients that depend on the object’s information find out that the information has changed?

You may encounter designs that make an object responsible for informing clients when there is an interesting change in some aspect of that object. The problem with this is that the knowledge of which attributes about an object are interesting lies with the client. The interesting object shouldn’t accept responsibility for updating the client. One solution is to arrange for clients to be informed when the object changes and leave it to the clients to follow up with interrogations about the ...

Get Design Patterns in Java™, Second Edition now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.