Когда вы в ситуации, когда вам нужно вернуть две вещи одним методом, какой лучший подход?
Я понимаю философию, что метод должен делать только одну вещь, но скажите, что у вас есть метод, который запускает выбор базы данных, и вам нужно вытащить два столбца. Я предполагаю, что вы хотите только пройти через набор результатов базы данных один раз, но вы хотите вернуть данные из двух столбцов.
Параметры, которые у меня возникли:
- Используйте глобальные переменные для хранения возвратов. Я лично стараюсь избегать глобальных привязок, где могу.
- Передайте две пустые переменные в качестве параметров, затем назначьте переменные внутри метода, который теперь является void. Мне не нравится идея методов, которые имеют побочные эффекты.
- Возвращает коллекцию, содержащую две переменные. Это может привести к запутыванию кода.
- Создайте класс контейнера для сохранения двойного возврата.. Это более самодокументирующийся, чем коллекция, содержащая другие коллекции, но похоже, что это может смущать создание класса только с целью возвращение.