private IToyOrderProcessor CreateProcessor <TToyFactory, TToy>(string category) where TToyFactory : ToyFactory <TToy>, new() where TToy : Toy { var toyFactory = new TToyFactory(); IToyOrderDequeuer toyOrderDequeuer = _toyOrdersQueueManager.GetDequeuer(category); return(new ToyOrderProcessor <TToy>(toyOrderDequeuer, toyFactory)); }
public ToyOrderProcessor(IToyOrderDequeuer dequeuer, ToyFactory <TToy> toyFactory) { _dequeuer = dequeuer; _toyFactory = toyFactory; }