![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Litkevich Yuriy |
![]() ![]()
Сообщение
#1
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
Подбираю шаблон проектирования для моей задачи.
Задача такая: Есть программа типа MDI, хочу сделать в ней многопользовательскую работу, в одно время работает только один пользователь. В зависимости от группы пользователя ему становится доступным определенный, для данной группы, набор пунктов меню. Я это так прикинул: 1-Нужно хранить переменную, например, uid, в которой указан код текущего пользователя/группы. 2-Нужен диалог ввода имени и пароля, который будет где-нибудь искать есть ли такая пара логин/пароль. Если есть, то устанавливать найденное значение в переменной uid. Если нет - ругнутся на пользователя. 3-Основное окно программы получает от диалога результат: ОК-пользователь найден, надо обновить меню, НЕ ОК - пользователь не найден, ничего не делать. Но я подумал, что какому нибудь еще окну может понадобится знать uid, и поэтому я думаю, что простая глобальная переменная будет неудобна, и хочу сделать класс, в котором будет реализовандиалог авторизации и прочие штуки в том числе статическая переменная uid, а в других классах динамически создавать экземпляры, если сделать этот класс как "одиночку", то uid должен быть общим для всех экземпляров. ---- Вот такие мысли в моей голове, может уже есть для подобной задачи отработаный подход, и моя мысль слишком замудренная? Просвятите пожалуйста. |
|
|
![]() |
Litkevich Yuriy |
![]()
Сообщение
#2
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
1. конструкторы-деструкторы, которые ты хочешь скрыть, не обязательно реализовывать с пустым телом {}, достаточно просто объявить их private; они у меня с пустым телом, т.к. в моём применении они были не нужны.надо реализовывать Double-Check Locking. имеется в виду для основных переменных "Одиночки" (*p_this и cnt)?
|
|
|
AD |
![]()
Сообщение
#3
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
1. конструкторы-деструкторы, которые ты хочешь скрыть, не обязательно реализовывать с пустым телом {}, достаточно просто объявить их private; они у меня с пустым телом, т.к. в моём применении они были не нужны.Ну вот, раз не нужны, то можно объявлять вообще без тела! имеется в виду для основных переменных "Одиночки" (*p_this и cnt)? Нет. В смысле сделать так:
|
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 18.2.2025, 4:59 |