我有以下用例
interface IA
{
void Do1(Object param);
void Do2(Object param);
}
class B : IA { ... }
class c : IA { ... }
我想要的是有一个基于输入参数的选择器类来使用B类或C类实现。我所做的是以下内容。由于遗留原因,Picker类必须实现IA
class Picker : IA
{
Dictionary<object, IA> _mapper = new ...;
void Do1(Object param)
{
_mapper[param].Do1(param);
}
void Do2(Object param)
{
_mapper[param].Do2(param);
}
}
但是我不希望在Picker类的每个函数中都有相同的植入, 是否有某种方法,或其他一些设计模式?