Создать роль для объекта в Java? [закрыто]

avatar
kalipts
1 июля 2021 в 16:27
42
2
1

У меня есть система управления компанией, и в этой компании у нас есть 2 роли: МЕНЕДЖЕР и СОТРУДНИК. чтобы МЕНЕДЖЕР мог:

  • создать, изменить, удалить продукт
  • создать, изменить, удалить СОТРУДНИК

СОТРУДНИК может:

  • посмотреть, продать товар
  • удалить свой аккаунт

Мне нужно создать 2 класса для МЕНЕДЖЕРА и СОТРУДНИКА или создать только 1 класс ПОЛЬЗОВАТЕЛЯ и иметь 2 роли. И какова наилучшая структура базы данных для этой ситуации?

Источник

Ответы (2)

avatar
anish sharma
1 июля 2021 в 18:32
0

Имейте одного пользователя таблицы со столбцом ролей в качестве сотрудника и менеджера Еще один столбец managerid (который сопоставляется с empid), чтобы указать, кто является менеджером сотрудника. поэтому структурируйте что-то вроде этого:

empid name role      managerid
1     a    employee   2
2     b    manager    3
3     c    manager   (either null or -1) to specify there is no manager   for this employee

this way we can even store hierarchy of employee manager in a single class
avatar
iamsagarpatil
1 июля 2021 в 16:58
0

По моему мнению, будет лучше использовать класс User, сохранив в нем роль в качестве члена данных, поскольку вы сможете легко масштабировать свое приложение в будущем, когда в вашей организации будет добавлено несколько ролей и обязанностей. С помощью этой структуры вы можете проверить роль пользователя и предпринять соответствующие действия. В классе ролей вы можете сохранить обязанности или доступ.