A one to many relationship between objects to notify them about state change in one object. Usually used in event/listener handling.
Recognized by method notifies state change to another instances.
A document repository application could notify related users and admins about document state change on saving action.
Could lead to memory leak with reference to observers.
Java provide a convenient built-in Observer pattern with java.util.Observer and java.util.Observable

