可重用的类库 - INotifyPropertyChanged

我正在开发一个WPF应用程序,它将引用一个主要包含业务对象的类库和一些操作这些对象的方法。由于此库与WPF一起使用,因此我需要使用INotifyPropertyChanged接口。 但是,我确实看到库中的未来用途可能不是特别依赖WPF(或者需要属性更改通知)作为表示层。在您的专业经验中,通过查找替代方法或使用界面并继续前进,是否最好省略界面以确保DLL从不必要的代码中“清除”以备将来使用? (显然,这可以应用于各种其他编程实践)。 谢谢。     
已邀请:
我不同意INotifyPropertyChanged行为只驻留在ViewModel中。虽然INotifyPropertyChanged在Presentation层中大量使用,但它的值超出了Presentation层。 我的每个模型通常都包含INotifyPropertyChanged行为,而不仅仅是ViewModel。 这可以归结为如果你可以说服自己INotifyPropertyChanged行为可以被消费者在Presentation层外部使用,留下它。     
我会省略业务层中的INotifyPropertyChanged。 如果我需要,我可以派生孩子并使他们成为INotifyPropertyChanged,或者我可以创建一个“模型”类,它可以包含我的业务对象的实例。 这也有助于将我的业务层与其他层(表示,数据访问等)分开,并允许我在我的服务器代码中使用所述对象,而不需要了解有关INotifyPropertyChanged的任何信息。     
INotifyPropertyChanged实现属于ViewModels,它封装了GUI / View的状态和相关行为,因此它们很容易测试。 ViewModel属于Presentation层。所有与视图无关的可重用代码都需要下推到另一层。因此,如果您需要换掉WPF,请构建一个不同的表示层,使用该层,您就可以了。下层不应该对它上面的层进行假设。所以在这一层没有INotifyPropertyChanged。     

要回复问题请先登录注册