Дмитрий Ковальский: Через ApiClient я не получаю доступ к БД. Есть сервис, который работает с Data Access Layer и c API. Этот сервис должен пробегать по записям в БД, вытаскивать AccessToken из таблицы с инфой о пользователе и проверять валидность этого токена. Валидность токена, что логично, проверяется в соц. сети. Т.е я должен сделать запрос к API, этим занимается ApiClient - делает запросы к API. В чем вопрос: мне нужно понять как лучше реализовать сам класс ApiClient. Если делать его синглтоном, то в каждом методе придется добавить еще один параметр: accessToken. Если не синглтон, то нужно просто определить приватное поле accessToken, передавать в конструктор класса токен и все, каждый объект будет работать только с одним токеном. У меня вопрос: как лучше сделать? Может еще варианты есть? Если класс будет не синглтоном, то получается, что для каждого пользователя при проверке необходимо создать экземпляр класса. Нормально ли это, если пользователей будет очень много?
Не, я все правильно понимаю, просто возможно немного непонятно описал.
У меня веб-приложение. В нем можно залогиниться с помощью какой-нибудь соц. сети. При этом я сохраняю в БД маркер доступа. Для вызова каждого метода API соц. сети необходимо помимо различных параметров передавать еще и маркер доступа. Можно было бы сделать обычный класс, передавать в его конструктор маркер доступа (тот сохранял бы его в какое-нибудь приватное поле) и в этом случае каждый instance работал бы для конкретного пользователя. Но есть проблема: есть сервис, который будет периодически пробегать по БД и проверять маркеры доступа, обновлять необходимую инфу. Получается, что для каждого пользователя будет создаваться новый экземпляр ApiClientImpl. Не сильно ли это будет нагружать систему?