Итак, первая проблема - вы говорите "огромный метод". Это говорит о том, что вам нужно разбить его на более мелкие методы, каждый со своей определенной целью. Вы можете вызвать этот метод, который вызовет меньшие, но если у вас есть метод, который скажет
- Вызывает базу данных
- Изменяет записи
- Сортирует их
- Группирует их в другую структуру
Это должны быть разные методы в объекте, каждый со своей функцией. Это значительно облегчает тестирование и отладку позже, когда в коде есть ошибка.
Во-вторых, вам не нужно создавать объект для одного метода, вы всегда можете сделать этот метод статическим , поэтому вам не нужно создавать новый объект просто для его вызова. Похоже, вы помещаете свою логику в конструктор, который я бы реорганизовал. Если вы возвращаете вывод для него, просто сделайте так, чтобы вы могли сделать:
var myObject = new MyObject();
var results = myObject.DoFunction();
Вам не нужно помещать логику в конструктор, а затем вызывать другой метод для результата. Конструктор должен иметь минимальный объем кода для запуска объекта, а затем позволить вызывающим методам выбирать, когда они хотят, чтобы этот объект выполнил бизнес-логику.