Допустим, у меня есть класс User, и я хочу вернуть всех пользователей в моей базе данных.Для этого я создал метод getAll ();
Мне нужно вызвать метод в разных частях моего приложения и вернуть данные в разных форматах.Мне может понадобиться, чтобы все пользователи, разделенные запятыми, помещали в какое-то условие «где в», или в формате json, например, для создания API, или в виде массива.
Что является лучшим решением для организации моего кода?
Возможные решения: 1.Передать переменную fetchMode в функцию getAll, чтобы я мог соответствующим образом отформатировать возвращаемое значение.2. Создайте прокси-метод «findAllAsArray», «findAllAsJson» и т. Д., Который вызывает исходный метод getAll и форматирует ответ.3. Всегда возвращайте результат в стандартном формате (например, массив), а затем создайте несколько общих методов для преобразования между форматами: например: arrayToJson, arrayToCsv и т. Д. И используйте их, когда мне нужны результаты в другом формате, чем стандартный.
Метод 1 может сделать метод getAll слишком сложным, если у меня много форматов.Метод 2 может добавить слишком много дополнительных методов, делающих мой класс более сложным.Метод 3, не уверен, но данные должны быть возвращены в необходимом формате из модели, я думаю.Преобразование его в контроллер, вероятно, не лучшее решение.