我正在使用提供 API 的第三方产品。此 API 通过创建基类的实现来工作,然后在 app.config 中指示您要使用的实现。
这样做的问题是,在这个第三方应用程序中可能有多个项目。我想做的是创建一个实现基类的包装类。这将查看参数,然后查找配置以确定将处理传递给哪个其他类,具体取决于正在使用的项目。这样我们就可以在不修改任何现有代码的情况下将未来的项目添加到系统中。
public class MyImplementation : ThirdPartyBaseClass
{
public override OnLoad(ThirdPartyType data)
{
//do stuff
}
public override Process(ThirdPartyType data)
{
//do stuff
}
}
大约有 15 种方法可以被覆盖。基类方法似乎是空的,因为如果你不重写一个方法,什么都不会发生,所以我需要我的包装器能够处理我需要用于这个项目的类型可能无法实现部分或全部的情况方法。
有人知道适合这种情况的设计模式吗?