C 语言中的提供程序模式#

Provider pattern in C#

提问人:Kamila 提问时间:11/3/2023 最后编辑:Petter HesselbergKamila 更新时间:11/4/2023 访问量:70

问:

我试图详细了解提供者模式,当我使用抽象类并使用抽象方法继承一个提供者库然后在实现抽象类和抽象方法时创建两个类, 这里的查询是我对这种理解不清楚,因为这可以通过一个简单的抽象类和实现一个类来实现,那么为什么我们真的要继承一个 ProviderBase?我尝试了下面的示例设计,有人可以帮助我在 Microsoft 中的提供者基类使用吗?谢谢

using System.Configuration.Provider;

namespace POC_Driver
{
  public abstract class DealNotesProvideBase : ProviderBase
  {
    public abstract void saveData();
  }
}

public class DealNotesAsDatapathProvider : DealNotesProvideBase
{
  public DealNotesAsDatapathProvider()
  {
  }

  public override void saveData()
  {
     // do something 
  }
}

public class AnotherClassProvider : DealNotesProvideBase
{
  public override void saveData()
  {
     // do something 
  }
}

Main()
{
  DealNotesAsDatapathProvider provider = new DealNotesAsDatapathProvider ();
  AnotherClassProvider  anotherclassprovider = new AnotherClassProvider ();
  provider.saveData();
  anotherclassprovider.saveData();
}
C# 设计模式 提供程序

评论

0赞 JonasH 11/3/2023
您要解决的实际问题是什么?模式可能很有用,但您需要知道何时以及为什么使用它们。我不能说我曾经使用过这种模式,但我建议查找“依赖注入”,以查找一种非常常见的相关模式。
0赞 Kamila 11/3/2023
正如问题中提到的,我试图理解这种模式以及为什么 Microsoft 在命名空间下给出了一个单独的 ProviderBase 类:“System.Configuration.Provider”,以及当它可以从抽象类实现时它的实际作用。
0赞 Auditive 11/4/2023
试着看看这个帖子。我同意@JonasH的观点,它的用法取决于你需要什么(除了单纯的好奇心),但你没有告诉我们你想要的目的。此外,与许多常见的工厂或策略模式相比,它看起来有点过时或非常具体的可用情况。

答: 暂无答案