У меня возникла дилемма проектирования. У меня есть класс с именем UserAccount, представляющий пользователя, который имеет возможность войти в школьную систему и получить доступ к информации, такой как курсы, которые он / она посещает, аватар, новости и т. Д. Затем есть другой класс с именем Course, который представляет любой данный курс. в этой школе. Он содержит такую информацию, как количество студентов, которые проходят этот курс в этом семестре, идентификационный номер курса и т. Д.
Таким образом, UserAccount имеет такой метод
UserAccount user = new UserAccount("username", "password");
user.login();
Array<Courses> courses = user.getCourses();
Этот метод getCourses () возвращает массив курсов с курсами, которые посещает пользователь. Очевидно, что пользователь объекта содержит ссылку на курсы, которые он / она проходит.
Но, и вот в чем моя проблема, курс должен получить доступ к информации с сервера (используя REST), но все запросы должны быть отправлены с файлом cookie сеанса и некоторой информацией пользователя. Так или иначе, курс должен знать, какой пользователь пытается получить информацию. Для меня кажется неправильным, что курс содержит ссылку на пользователя, и необходимость передавать пользователя в качестве параметра методу курса, которому нужна эта информация, также представляется неправильной.
У кого-нибудь есть лучшее решение?
ПРИМЕЧАНИЕ: У меня нет контроля над тем, как была спроектирована система, я должен был сказать, что на самом деле нет общедоступного API, я отбрасываю ответы html, поэтому я не знаю, как система был реализован, и мне не нужно проверять, какие курсы посещает студент, эта информация предоставляется сервером с помощью простого запроса. Как я уже говорил ранее, проблема заключается в том, что когда мне нужно сделать запрос к серверу (относительно информации о курсах), я должен отправить cookie сеанса и некоторую другую непубличную информацию, которая хранится в объекте пользователя, потому что пользователь должен авторизовался для получения информации из системы. Дело в том, что не естественно, что в курсе есть ссылка на студента.