Класс полезности в рамках проекта автоматизированного тестирования - статический, синглтон или другой дизайн? - PullRequest
1 голос
/ 03 ноября 2010

Я довольно много искал об этом при переполнении стека и думаю, что этот вопрос достаточно отличается, чтобы заслужить новый вопрос.

Для интеграционных тестов мне нужно включить службу координатора распределенных транзакций (SQL Server), чтобы я мог использовать функцию отката базы данных MSTestExtensions.

Поэтому мне нужны такие методы, как:

public void StartService(string serviceName)
public void StopService(string serviceName)
public void RestartService(string serviceName)

Было бы очень легко создать статический класс.Работать над тем, чтобы сделать этот класс синглтоном в c #, тоже не сложно. .

Так действительно ли имеет значение, используете ли вы здесь синглтон или статический класс?Это кажется мне тривиальным, но, возможно, один из них более подходит для такого типа вещей?

Я не думаю, что мне нужно использовать интерфейсы, полиморфизм, расширяемость или возможность передавать этот класс, содержащий эти методы.вокруг.Таким образом, такие преимущества Singletons не очень полезны в этом случае.В конце концов, единственное преимущество, которое я вижу, - это ленивая загрузка класса и отсутствие необходимости добавлять статические значения для каждого метода.

1 Ответ

1 голос
/ 03 ноября 2010

Статические классы работают хорошо, если у вас относительно мало данных и вам не нужны функции ООП. Я подозреваю, что в этом случае это будет хорошо работать.

...