gpt4 book ai didi

c# - 如何避免在更新接口(interface)后必须更新所有实现类?

转载 作者:太空狗 更新时间:2023-10-30 00:42:47 25 4
gpt4 key购买 nike

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

我们的应用程序 (IChartConfiguration) 中有一个接口(interface),每个图表配置类都实现了该接口(interface)。它允许应用程序以一致且相似的方式处理任何特定的图表配置。

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

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

最佳答案

您的问题出在别处,您遇到的“有问题”的行为根本没有问题。 它是接口(interface)的预期用途。通过实现您声明的接口(interface),“此类支持此接口(interface)”。如果您不愿更新实现该接口(interface)的所有类,您就不再支持此契约(Contract)。

您应该问自己的主要问题是您刚刚添加的配置属性是否对其他图表有意义。如果不是,则不应在一个通用接口(interface)中指定。

只有几个值得探索的替代方案:

  • 拥有一个主界面并从中扩展其他界面。
  • 具有通用实现的抽象类。
  • 跨多个界面划分行为。

在不知道你们的图表之间到底有什么区别的情况下,我不能推荐任何一种方法是最好的。

关于c# - 如何避免在更新接口(interface)后必须更新所有实现类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13762940/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com