假设我有一个实现INotifyPropertyChanged接口的基类,而且我还有一个VS片段,因此可以轻松输入代码。我正在编写一个数据类,但是现在没有客户需要知道这个类的属性更改,但是将来有可能存在。有没有理由不实施INotifyPropertyChanged?这会降低性能等吗?
答案 0 :(得分:8)
“当你真正需要它们时,总是要实现它们,永远不要在你们身上实现 只是预见到你需要它们。“
YAGNI - http://c2.com/xp/YouArentGonnaNeedIt.html
众所周知, INotifyPropertyChanged
非常轻量级,您真正关注的不是性能问题等。如果你担心的只是性能问题,你也可以实现它。 YAGNI(仅)关于此类问题。它表示您的代码具有灵活性,您可以在需要时使用。这种灵活性是你应该关注的。
答案 1 :(得分:0)
为什么不将相关属性标记为virtual
,从而可以在将来的某个时刻编写实现INotifyPropertyChanged
的子类?您的基类将以这种方式保持轻量级。