Das ist aber auch ein Pattern dass einem alle Nase lang begegnet und wo ich es sinniger finde z.B. ein TreeModel und einen TreeModelListener zu haben, als eiinen Observer und ein Oberservable. Ersteres ist doch deutlich vielsagender und spezifischer und erlaubt eigenständige Definitionen der betreffenden Methoden und Parameter.
Würde alles nur Observer und Observable benutzen, würde das sehr schnell sehr stark einschränken. Ich muss auch zugeben nie einen Gedanken daran zu verschwenden Observer und Observable zu nutzen, sondern mir das immer selbst implementiere (wenn es nichts passendes gibt). Da bin ich eben in jeder Beziehung felxibler und das Ganze ist ja so einfach, dass die paar Zeilen schnell von den Fingern gehen.