public static void Main() { ClockPublisher clock = new ClockPublisher(); ISubscriber dc = new DisplayClock(clock); ISubscriber lc = new LogClock(clock); lc.AddSubscriber(); // subscribe for event dc.AddSubscriber(); // subscribe for event clock.GetUpdatedTimeOnSecondChange(); // publish event Console.ReadKey(); }