这是一个很好的做法,实现INotifyPropertyChanged时,它不是目前需要的

本文关键字:实现 INotifyPropertyChanged 目前 一个 很好 | 更新日期: 2023-09-27 18:10:50

假设我有一个实现INotifyPropertyChanged接口的基类,我也有一个VS代码片段,所以代码可以很容易地键入。我正在写一个数据类,但是现在没有客户端需要监视这个类的属性变化,但是将来有可能会有。是否有理由不实现INotifyPropertyChanged?这会降低性能吗?

这是一个很好的做法,实现INotifyPropertyChanged时,它不是目前需要的

"总是在你真正需要的时候实现它们,而不是在你不需要的时候。只要预见到你需要它们。"

YAGNI - http://c2.com/xp/YouArentGonnaNeedIt.html

INotifyPropertyChanged是非常轻量级的,您真正关心的不是性能问题之类的。如果您担心的只是性能问题,那么您也可以实现它。YAGNI不仅仅是关于这些问题。它说你的代码是灵活的,当你需要一些东西的时候。

为什么不将相关属性标记为virtual,从而可以在将来的某个时候编写实现INotifyPropertyChanged的子类?这样你的基类将保持轻量级。