Implementation Issues
Subject and Observer interfaces must be
designed carefully so that the data can be
passed/accessed efficiently to let observers know
what changed in subject.
There are two main variants:
update(data1,data2,…)
Observer interface may get complex
because it must enable to pass in the changed
data for all supported observers (whether the
data is simple or complex).update(this)
Subject interface may get complex
because it must enable all supported observers to
access the needed data.