Я довольно много искал об этом при переполнении стека и думаю, что этот вопрос достаточно отличается, чтобы заслужить новый вопрос.
Для интеграционных тестов мне нужно включить службу координатора распределенных транзакций (SQL Server), чтобы я мог использовать функцию отката базы данных MSTestExtensions.
Поэтому мне нужны такие методы, как:
public void StartService(string serviceName)
public void StopService(string serviceName)
public void RestartService(string serviceName)
Было бы очень легко создать статический класс.Работать над тем, чтобы сделать этот класс синглтоном в c #, тоже не сложно. .
Так действительно ли имеет значение, используете ли вы здесь синглтон или статический класс?Это кажется мне тривиальным, но, возможно, один из них более подходит для такого типа вещей?
Я не думаю, что мне нужно использовать интерфейсы, полиморфизм, расширяемость или возможность передавать этот класс, содержащий эти методы.вокруг.Таким образом, такие преимущества Singletons не очень полезны в этом случае.В конце концов, единственное преимущество, которое я вижу, - это ленивая загрузка класса и отсутствие необходимости добавлять статические значения для каждого метода.