using System; using System.Collections.Generic; /// /// This interface defines an observable. Since registering those is fairly generic, we also just keep a generic one around. /// Works somewhat similar to IObservable, except that it's our own really. /// While we use generics here, theoretically hardcoding Item types would do the job. Could make this 100% generic too... /// public interface IModelObservable { IDisposable RegisterObserver(IShopModelObserver observer); void RemoveObserver(IShopModelObserver observer); }