Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Обязанности сущностей [4]
Покинул форум
Сообщений всего: 406
Дата рег-ции: Янв. 2012
Помог: 4 раз(а)
caballero пишет:
А ведь странно - книга Макконнела и паттерны перепечатываются уже давным давно. Неужели никто не удосужился прочитать. Что то тут не так.
прочитать не проблемма вообще ) даже вникунуть что да как ) а вот понять, что такое процесс аутентификации, авторизации, какие бывают провайдеры аккаунтов, как с ними работатать, какие бывают профили пользователей и т.д., а после этого еще и создать грамотное решение, пригодное для расширения и повторного использования - пока не нашел.
вот и призываю народу объедениться, собрать весь свой личный опыт и описать каким должна быть система работы с юзерами и как её будет лучше оформить в виде программного кода.
Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011 Откуда: Харьков
Помог: 126 раз(а)
Цитата:
прочитать не проблемма вообще ) даже вникунуть что да как ) а вот понять, что такое процесс аутентификации, авторизации, какие бывают провайдеры аккаунтов, как с ними работатать, какие бывают профили пользователей и т.д., а после этого еще и создать грамотное решение, пригодное для расширения и повторного использования - пока не нашел.
Вот когда поймешь это тогда и поймешь что книжная теория тут малополезна.
Цитата:
вот и призываю народу объедениться, собрать весь свой личный опыт и описать каким должна быть система работы с юзерами и как её будет лучше оформить в виде программного кода.
Покинул форум
Сообщений всего: 979
Дата рег-ции: Окт. 2011 Откуда: Россия г. Нижний Новгород
Помог: 25 раз(а)
[+]
Я вот эту книгу не читал, хотя и скачал но и без её замысловатых идей знаю : caballer'ыч прав, имхо!
Класс User это сущность.
Методы регистрации, авторизации должны быть внутри этой сущности. Информацию о пользователе можно хранить в приватном свойстве объекта. (Добавление)
ООП не должно плодить классы ради классов!!
Bio man
Отправлено: 04 Июня, 2012 - 08:50:19
Постоянный участник
Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010 Откуда: Даугавпилс, Латвия
Помог: 52 раз(а)
sKaa пишет:
Методы регистрации, авторизации должны быть внутри этой сущности.
Я стремлюсь к простоте интерфейса и не хочу загромождать класс интерфейсом, который будет использован всего 1 раз при регистрации. Про авторизацию молчу, там ей и место но вот на счет регистрации... Если разбить приложение на подсистемы, то вырисовывается пакет Account System. В нем класс Account (user)...
О! А стоит сделать абстрактный базовый класс и от него наследовать Guest, User, Admin? А в базовом классе сделать статическими методы авторизации и регистрации? Есть ли в этом смысл?
sKaa
Отправлено: 04 Июня, 2012 - 09:59:18
Частый посетитель
Покинул форум
Сообщений всего: 979
Дата рег-ции: Окт. 2011 Откуда: Россия г. Нижний Новгород
Помог: 25 раз(а)
[+]
Bio man, нету. Роли уместней всего хранить не отдельным классом, пусть даже "наследником" чего-то там, а в битовых масках, это тоже имхо....
caballero
Отправлено: 04 Июня, 2012 - 10:41:39
Активный участник
Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011 Откуда: Харьков
Помог: 126 раз(а)
Цитата:
не хочу загромождать класс интерфейсом, который будет использован всего 1 раз при регистрации.
Ну да лучше сгородить целый класс одним методом для одного раза. Большинство фреймворков и CMS потому и сложны для понимания что разбиты на стопицот малополезных подсистем.
Как показывает практика (и об этом пишет Фаулер) писать код "на всякий случай" - глупо потому что этот "случай" в большинстве случаев не наступает. и соответственно код валяется без дела.
Впрочем иногда поступают следующим образом - создают хелперный класс куда переносят все невписыывающиеся с сущности функции. Класс сам по себе смысла не имеет как обьект (тем более функции как правило там статические) но закрывает все нестыковки.
Цитата:
А стоит сделать
абстрактный базовый класс и от него наследовать Guest, User, Admin? А в базовом классе сделать статическими методы авторизации и регистрации? Есть ли в этом смысл?
лучше юзеру добавить свойство указывающее кто он пока типы юзеров не окажутся разными настолько что в БД тоже будут в разных таблицах.
если у кого есть мысли каким функционалом должен еще обладать комплект компонентов по работе с юзерами - пишите!
Bio man
Отправлено: 06 Июня, 2012 - 21:08:34
Постоянный участник
Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010 Откуда: Даугавпилс, Латвия
Помог: 52 раз(а)
UML диаграмки бы не помешали
digi
Отправлено: 07 Июня, 2012 - 09:49:03
Посетитель
Покинул форум
Сообщений всего: 406
Дата рег-ции: Янв. 2012
Помог: 4 раз(а)
до описания UML надо на словах сформулировать какими требованиями и возможностями будет обладать подсистема работы с юзерами в целом... да и в этом случае важными будет только интерфейсы.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.