Быстрый дизайн вопрос.
В ClassA есть метод DoSomething (args)
В DoSomething (), прежде чем он сможет что-то сделать, ему нужно выполнить некоторую подготовительную работу с аргументами. Я считаю, что это должно быть заключено в ClassA (в отличие от выполнения подготовительной работы снаружи и передачи ее внутрь), поскольку ничто иное не должно знать, что эта подготовительная работа требуется для DoSomething.
Тем не менее, именно здесь и находится настоящий подготовительный рабочий код, который заставляет меня задуматься.
Подготовительная работа в моем конкретном примере состоит в создании списка элементов, которые удовлетворяют определенному условию, из аргументов.
У меня есть догадка, что я должен создать новый класс ListOfStuff, который принимает аргументы в своем конструкторе и помещает эту подготовительную работу здесь.
С точки зрения TDD, я думаю, что это правильный выбор. Затем мы можем выполнить модульный тест ListOfStuff, пока наше сердце будет довольным. Если бы мы поместили подготовительную работу в закрытый метод ClassA, мы бы смогли косвенно протестировать ее только путем тестирования DoSomething ().
Но это перебор? С тех пор, как был принят подход TDD и DI, я видел количество классов, которые я пишу многократно - стоит ли мне волноваться?
* * 1016 Та.