Момент Вы думаете об этом.
(как долго, поскольку то, в чем Вы регистрируетесь, безопасно)
И Роберт, и Лукас попали в точку своими ответами. Все «лишние вещи» для учетной записи будут находиться в классе UserRepository. В настоящее время так реализован Turbine ND.
Однако ничто не мешает вам создать новый класс с именем ConnectionStringProvider, который затем может быть «введен» в ваш UserRepository, который предоставит строку подключения (независимо от того, жестко ли она закодирована или прочитана из файла конфигурации.
Код может быть следующим:
public class ConnectionStringProvider {
public string ConnectionString {
get{
// your impl here
}
}
}
public class UserRepository {
public UserRepository(ConnectionStringProvider provider){
// set internal field here to use later
// with db connection
}
}
Отсюда вы добавляете регистрацию для ConnectionStringProvider в классе UserRepositoryRegistration, а Turbine сделает все остальное за вас.
В общем, это касается исключительно конкретного UserRepository, которому требуется строка подключения или база данных дорожка. Вы бы прекрасно справились, опустив путь в файле конфигурации приложения и попросив ваш конкретный репозиторий напрямую извлекать данные конфигурации.
Не всем репозиториям потребуется эта информация, что является одной из причин, по которой у вас есть абстракция в первое место. Например, для быстрой работы с конкретным IUserRepository в памяти не потребуется путь к базе данных или, вероятно, какая-либо дополнительная конфигурация для работы.
Подобно Роберту, я бы рекомендовал поместить это в файл конфигурации приложения, однако, с конкретными записями для каждой инъекции тип. Таким образом, ваша строка подключения или путь могут быть настроены при каждой инъекции.