C# 何时实现iNotifyPropertyChanged接口?

C# 何时实现iNotifyPropertyChanged接口?,c#,.net,inotifypropertychanged,C#,.net,Inotifypropertychanged,据我所知,在处理与一个对象源相关的UI元素时,INotifyPropertyChanged似乎非常有用。我只是好奇为什么.net framework中的某些类可能以某种方式与UI一起使用,却没有实现INotifyPropertyChanged?例如SerialPortclass 是否有关于使用INotifyPropertyChanged的建议指南?还是我完全误解了界面的概念 这个问题是在尝试将多个自定义用户控件链接到SerialPort类后出现的。INotifyPropertyChanged是为

据我所知,在处理与一个对象源相关的UI元素时,
INotifyPropertyChanged
似乎非常有用。我只是好奇为什么.net framework中的某些类可能以某种方式与UI一起使用,却没有实现
INotifyPropertyChanged
?例如
SerialPort
class

是否有关于使用INotifyPropertyChanged的建议指南?还是我完全误解了界面的概念


这个问题是在尝试将多个自定义用户控件链接到
SerialPort
类后出现的。

INotifyPropertyChanged是为了允许对象与其绑定通信,因此您的理解是正确的

您可以使用SerialPort来提供此功能


我不知道为什么SerialPort没有实现这个接口,所以从这个意义上说,我无法回答这部分问题。

通常INotifyPropertyChanged是在为WPF或Silverlight开发的应用程序的业务逻辑类上实现的

如果SerialPort类被其他应用程序(如WCF或Winform 2.0)使用,INotifyPropertyChanged将几乎没有用处

无论如何,它是一个WPF框架引擎可以理解的接口。 您可以创建一个业务类,它可以实现INotifyPropertyChanged并在内部保存SerialPort类


希望它有意义。

您正确理解了界面


但是认为
SerialPort
类在某种程度上与UI相关是件坏事。此类应该允许访问这一资源。不多不少。如果您想以某种方式显示与
SerialPort
相关的信息,您应该创建自己的业务类,该类将使用
SerialPort
并通过属性和
INotifyPropertyChanged

公开所需的信息,现在开始有意义了。是否会有这样一种情况:作为数据源的类直接使用INotifyPropertyChanged而不必创建业务类?我没有计算机科学/开发背景,因此“业务逻辑”、“工厂”、“构建器”等术语对我来说非常陌生。这些术语的一般主题是什么,所以我可以读到吗?当一辆车行驶时,他/她必须熟悉“刹车”、“离合器”、“加速器”、“齿轮”之类的术语。你可以在上面提到的汽车上的软件中考虑上面的术语。模糊的业务逻辑是将您的需求转换为软件代码。尝试探索Roger Pressman的“软件工程”,阅读软件设计和体系结构。