Следует ограничить проект единственным (открытым) конструктором. Поскольку конструктор является определением зависимостей класса, особого смысла в наличии нескольких определений нет. Переопределение конструкторов приводит к неопределенности: каким из конструкторов должен воспользоваться вызывающий объект (или DI-контейнер)?