如何防止在更新接口后更新所有实现类?

Ran*_*der 4 c# interface

我们有一个WPF应用程序,主要是一个图表应用程序.大约有30个图表.每个图表在数据库中都有自己的表,该表保存图表的配置信息.每个图表在应用程序中都有一个类,其中包含与图表相关的配置信息.

我们的app(IChartConfiguration)中有一个接口,每个图表配置类都实现了这个接口.它允许应用程序以一致和类似的方式使用任何特定的图表配置.

我们遇到的"问题"是每次我们需要向接口添加属性时,对于添加了我们尚未处理的新配置属性的新图表,我们必须返回到每个图表配置类,还没有实现这个新属性(通常是大多数)并添加它.满足接口实现.这不是一个巨大的负担,但在我看来,必须有一个更好的方法来解决这个问题.

有没有更好的方法来处理这个?

Ste*_*ris 5

你的问题出在其他地方,你遇到的"有问题"的行为根本就没有问题.它是接口的预期用途.通过实现您正在声明的接口,"此类支持此接口".如果您更新实现该接口的所有类,则不再支持此合同.

您应该问自己的主要问题是您刚添加的配置属性是否适用于其他图表.如果不是,则不应在一个公共接口中指定.

只是一些值得探索的选择:

  • 有一个主界面并从中扩展其他界面.
  • 具有常见实现的抽象类.
  • 跨多个接口划分行为.

如果不确切知道图表之间的差异,我不能推荐任何一种方法作为最佳方法.