在C#中:我有一个在几个gui类之间共享的数据类.我希望所有使用它的gui类在某些属性发生变化时得到通知,这样他们就可以使GUI保持最新状态.
在几个属性中,我添加了委托,GUI类可以监听更新.这似乎工作正常.
我遇到的问题是越来越多的属性需要GUI通知.当发生这种情况时,我将不得不添加更多的代表.这似乎也增加了它必须管理的数据类的额外责任.
是否有一些常用模式可用于监视此类以从数据类中提取此通知责任?
执行此操作的常用方法是使数据类实现INotifyPropertyChanged.
编辑:如果你有很多属性,这可能导致数据类中的重复代码,如果你绑定到UI,最好使用AOP方法并拦截对你想要的属性的调用通知.大多数IoC容器都支持这种事情.