Мне приходится работать с кодом, который на самом деле не является MVC (т. е., среди прочего, он не использует явную структуру). Сейчас мы обходимся сервлетами, передающими данные службам.
Вот моя проблема. Я получаю сообщение на сервлет, который содержит целую кучу адресных данных, которые я должен сохранить в базе данных. Данные (очевидно) находятся в объекте HttpServletRequest. Мой вопрос: как мне передать эти данные в службу? Я неохотно делаю это так:
AddressService.saveAddress(request);
Потому что я не думаю, что служба должна иметь зависимость от запроса. Мой другой вариант - сделать что-то вроде этого:
String addressLine = request.getParameter("addressLine");
..
.. about 7 other parameters
..
String zip = request.getParameter("zip");
AddressService.saveAddress(addressLine, ... 7 other parameters ..., zip);
Но мне тоже не нравится иметь функцию с огромным количеством параметров. Я думал о создании промежуточного объекта с именем AddressData, который будет хранить данные из запроса, а затем передавать их в службу. Это приемлемый способ ведения дел?