APIを提供しているサードパーティ製品を使用しています。このAPIは、基本クラスの実装を作成し、app.configで使用する実装を示すことで機能します。
これに伴う問題は、このサードパーティアプリケーションに複数のプロジェクトが含まれる可能性があることです。私がやりたいのは、基本クラスを実装するラッパークラスを作成することです。これにより、パラメーターが調べられ、構成が調べられて、使用されているプロジェクトに応じて、処理を渡す他のクラスが決定されます。このようにして、既存のコードを変更せずに、将来のプロジェクトをシステムに追加できます。
public class MyImplementation : ThirdPartyBaseClass
{
public override OnLoad(ThirdPartyType data)
{
//do stuff
}
public override Process(ThirdPartyType data)
{
//do stuff
}
}
オーバーライドできるメソッドは約15あります。メソッドをオーバーライドしないと何も起こらないため、基本クラスのメソッドは空のように見えます。したがって、このプロジェクトで使用する必要のあるタイプが一部またはすべてを実装しない可能性がある状況を処理できるように、ラッパーが必要になります。メソッド。
この状況に適したデザインパターンを知っている人はいますか?