Disons que vous avez une interface de IModel qui prend une paire de génériques ...Plugins StructureMap - façon plus facile?
public interface IModel<TOne, TTwo>
{
TOne ConvertToOne(TTwo two);
TTwo ConvertToTwo(TOne one);
}
et une classe qui implémente cette
public class OneTwo : IModel<SomethingOne, SomethingTwo>
{
SomethingOne ConvertToOne(SomethingTwo two)
{ //zomg! nothing exciting!
}
...
}
Rien trop de fantaisie. Dans mes configurations de mappage, j'ai une liste qui ressemble un peu à ceci ...
For<IModel<SomethingOne, SomethingTwo>>().Use<OneTwo>();
For<IModel<SomeOne, SomeTwo>>().Use<AnotherClass>();
et ainsi de suite. Basé sur DRY, je pense que c'est la façon la plus difficile de le faire (il y en a 7 maintenant, bientôt 20). Quoi qu'il en soit, pour faire cela "plus mieux"?