@startuml class adapter namespace DTRAM{ class Observer class Logger class Weather{ +timePasses():void } class Orcs{ +update(type:String,int id):void } class Hobbits{ +update(type:String,int id):void } Observer o---> Logger Observer o---> Weather Observer o---> Orcs Observer o---> Hobbits Weather o--> Orcs Weather o--> Hobbits Orcs o--> Logger Hobbits o--> Logger } namespace Iluwatar{ class Weather{ +timePasses():void } interface WeatherObserver<<interface>>{ +update(type:WeatherType):void } class Hobbits class Orcs Weather o-down-> WeatherObserver Hobbits .up.|> WeatherObserver Orcs .up.|> WeatherObserver } @enduml