public EventsMediator(AppleMessageReceiver appleMessageReceiver, MicrosoftMessageSender microsoftMessageSender) { _appleMessageReceiver = appleMessageReceiver; _microsoftMessageSender = microsoftMessageSender; _microsoftMessageSender.MessageEvent += OnMessageReceived; }
protected void Dispose(bool disposing) { if (!_disposed && disposing) { _microsoftMessageSender.MessageEvent -= OnMessageReceived; _microsoftMessageSender = null; } _disposed = true; }
static void Main(string[] args) { MicrosoftMessageSender messageSender = new MicrosoftMessageSender(); AppleMessageReceiver messageReceiver = new AppleMessageReceiver(); EventsMediator eventsMediator = new EventsMediator(messageReceiver, messageSender); messageSender.RaiseEvent("Hello world!"); eventsMediator.Dispose(); Console.WriteLine(messageReceiver.Message); Console.ReadKey(); }