Товарищи, дорогие, вопрос архитектурного характера есть. Значится, есть класс User, от которого может наследоваться абстрактный класс Abstract{Role} - ну типа "роль" юзера в системе. Например, менеджер. Он наследует лишь часть функционала User. От этого абстрактного класса наследуются неабстрактные классы, которые определяют второстепенную роль (например, менеджер отдела продаж), которые целиком наследуют весь функционал основной роли и добавляют свои. Насколько это правильный подход?
Или же более правильным подходом будет создать AbstractUser, и наследовать от него User и Abstract{Role}?