В настоящее время я работаю над диаграммой классов UML для приложения, которое должно быть похоже на 'Duolingo'.
Я изо всех сил пытаюсь смоделировать отношения многие ко многим. Итак, я думаю, что у вас есть много пользователей, которые могут пройти много курсов (разные языки, которые они хотят изучать). По этой причине я решил создать класс courseProgress, чтобы смоделировать эти отношения «многие ко многим».
Мне было интересно, нужно ли хранить userID и courseID в моем классе courseProgress? Я думаю, что я запутался здесь с тем, как ключи могут использоваться в базе данных.
См. Диаграмму ниже:
![enter image description here](https://i.stack.imgur.com/WzJrT.png)
Я на правильном пути?
Кроме того, мне было интересно, когда именно вы будете использовать частные и публичные поля. Потому что мне кажется, что вы всегда хотели бы, чтобы все поля были частными, и просто использовали методы получения и установки, чтобы всегда получать доступ к этим полям?
NB. На приведенной выше диаграмме поля являются открытыми, поскольку я еще не изменил их наprivate
На приведенной выше диаграмме я должен иметь поле userID и поле courseID или поле пользователя типа User и поле курса типа Course?