【问题标题】:Is it a good practice to implement INotifyPropertyChanged when it is not currently needed?当前不需要时实施 INotifyPropertyChanged 是一种好习惯吗?
【发布时间】:2023-03-30 22:37:01
【问题描述】:

假设我有一个实现 INotifyPropertyChanged 接口的基类,并且我还有一个 VS sn-p,因此可以轻松键入代码。我正在写一个数据类,但是现在没有客户端需要看这个类的属性变化,但是将来有可能会有。是否有理由不实施 INotifyPropertyChanged?这会降低性能等吗?

【问题讨论】:

  • “总是在你真正需要的时候实施,而不是在你预见到你需要它们的时候。” - YAGNI - c2.com/xp/YouArentGonnaNeedIt.html
  • @manojlds 你应该把它放在答案中,我会投赞成票的。
  • @TimJarvis - 我做了,删除并添加为评论!
  • @louis 为什么需要基类?

标签: c# .net inotifypropertychanged


【解决方案1】:

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

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

INotifyPropertyChanged 以非常轻量级而著称,您真正关心的不是性能问题等。如果您担心的只是性能问题,您也可以实现它。 YAGNI 不(只是)处理这些问题。它说你的代码很灵活,当你确实需要一些东西时你可以做到。这种灵活性是您应该关注的。

【讨论】:

  • 请详细说明一下?如果您能将该原则的原因与我的具体案例联系起来,将不胜感激
  • 在你需要的时候把它放进去,而不是如果你认为你可能需要它
  • @LouisRhys - 我在您的性能问题上添加了几行
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2012-08-11
    • 2011-11-03
    • 2018-02-19
    • 1970-01-01
    • 1970-01-01
    • 2017-02-20
    • 1970-01-01
    • 1970-01-01
    • 2023-03-20
    相关资源
    最近更新 更多