Я изучаю объектно-ориентированный дизайн, поскольку я просматриваю свой первый реальный, хотя и персональный проект.При разработке классов, как вы относитесь к подтипам?
Я нахожусь на этапе, когда я собираюсь создать пользовательский объект. У меня есть 4 подтипа пользователя:
- корневого администратор - веб-мастер, владелец сайта
- группа админы - лидер группы, который имеет членство и страницу (например, менеджер группы)
- группы членов - пользователь который может просматривать, создавать сообщения и комментарии в качестве члена группы на странице и посмотреть, личное содержание (например, член группы)
- несвязанных пользователь - член всего сайта, которые могут просматривать и комментировать публично (например, вентилятор)
Все администраторы группы будут группами члены и все члены группы также будут не связаны с пользователями. Таким образом, в основном это простая иерархия разрешений пользователей.
С учетом сказанного, как мне настроить архитектуру моего класса в отношении этих уровней? Существует ли техника гнездования? Я просто борюсь за то, чтобы вывесить здесь леса. У меня есть мои варианты использования и выписанные нарративы.
В этом случае вам следует рассмотреть возможность использования композиции вместо подпечатывания/наследования. – Rahul
Я читал о составе и узнал, что PHP принимает только одного родителя. Есть ли способ обойти это? – Dexter
Я неправильно понял, что я читал. Это становится слишком сложным для меня. Для моих целей это может сработать. Но я читаю статью о том, почему состав плохой, и я думаю, что у меня сложная методология, которая не готова к LOL ... Я хочу узнать это правильно, с самого начала, но я получаю моя голова. – Dexter