基于输入参数的动态实现选择器

时间:2014-08-06 10:42:34

标签: c# oop generics design-patterns

我有以下用例

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类的每个函数中都有相同的植入, 是否有某种方法,或其他一些设计模式?

0 个答案:

没有答案