namespace Core.Common.Base { /// /// Interface that describes the methods that need to be implemented on classes that are supposed to be observable. /// Observables should (asynchronously) notify their observers of the fact that their internal state has changed. /// /// public interface IObservable { /// /// This method attaches . As a result, changes in the will now be notified to . /// /// The to notify on changes. void Attach(IObserver observer); /// /// This method dettaches . As a result, changes in the will no longer be notified to . /// /// The to no longer notify on changes. void Detach(IObserver observer); /// /// This method notifies all observers that have been currently attached to the . /// void NotifyObservers(); } }