Проектирование системы — подгруппы пользователей и администраторовJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Гость
 Проектирование системы — подгруппы пользователей и администраторов

Сообщение Гость »


Мне нужно разработать систему, в которой пользователи будут двух разных типов -

Код: Выделить всё

Admins,Customer.Admins
может иметь роли

Код: Выделить всё

SUPER_ADMIN,ADMIN,MEMBER.Customer
может иметь роли

Код: Выделить всё

OWNER,TEAM_LEAD,TEAM_MEMBER
Не могу решить, какой подход будет правильным.
  • Использование

    Код: Выделить всё

    ENUM,like
    [/list]
        public class User {
    private UserType userType;
    private UserRole userRole;
    private AdminRole adminRole;
    }
    
    public enum UserType {
    ADMIN,
    CUSTOMER;
    }
    public enum UserRole {
    OWNER,
    TEAM_LEAD,
    TEAM_MEMBER,;
    }
    public enum AdminRole {
    SUPER_ADMIN,
    ADMIN,
    MEMBER,;
    }
    
    • Или используйте

      Код: Выделить всё

      Inheritance,like
      [/list]
         public class User {
      
      }
      public class Admin extends User{
      private AdminRole adminRole;
      }
      
      public class Customer extends User{
      private UserRole userRole;
      }
      public enum UserRole {
      OWNER,
      TEAM_LEAD,
      TEAM_MEMBER;
      }
      public enum AdminRole {
      SUPER_ADMIN,
      ADMIN,
      MEMBER;
      }
      


      Источник: https://stackoverflow.com/questions/781 ... -subgroups
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»