Допустим, у вас есть интерфейс IModel, который использует пару шаблонов ...
public interface IModel<TOne, TTwo>
{
TOne ConvertToOne(TTwo two);
TTwo ConvertToTwo(TOne one);
}
и класс, который реализует это
public class OneTwo : IModel<SomethingOne, SomethingTwo>
{
SomethingOne ConvertToOne(SomethingTwo two)
{ //zomg! nothing exciting!
}
...
}
Ничего особенного. В моих конфигах картирования у меня есть список, который выглядит примерно так ...
For<IModel<SomethingOne, SomethingTwo>>().Use<OneTwo>();
For<IModel<SomeOne, SomeTwo>>().Use<AnotherClass>();
и так далее. Основываясь на DRY, я чувствую, что это трудный способ сделать это (сейчас их 7, скоро будет около 20) В любом случае, чтобы сделать это «лучше»?