Шаблон проектирования Singleton (одиночка), подбираю подходящий для моей задачи |
Здравствуйте, гость ( Вход | Регистрация )
Шаблон проектирования Singleton (одиночка), подбираю подходящий для моей задачи |
Litkevich Yuriy |
4.5.2008, 20:04
Сообщение
#1
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Подбираю шаблон проектирования для моей задачи.
Задача такая: Есть программа типа MDI, хочу сделать в ней многопользовательскую работу, в одно время работает только один пользователь. В зависимости от группы пользователя ему становится доступным определенный, для данной группы, набор пунктов меню. Я это так прикинул: 1-Нужно хранить переменную, например, uid, в которой указан код текущего пользователя/группы. 2-Нужен диалог ввода имени и пароля, который будет где-нибудь искать есть ли такая пара логин/пароль. Если есть, то устанавливать найденное значение в переменной uid. Если нет - ругнутся на пользователя. 3-Основное окно программы получает от диалога результат: ОК-пользователь найден, надо обновить меню, НЕ ОК - пользователь не найден, ничего не делать. Но я подумал, что какому нибудь еще окну может понадобится знать uid, и поэтому я думаю, что простая глобальная переменная будет неудобна, и хочу сделать класс, в котором будет реализовандиалог авторизации и прочие штуки в том числе статическая переменная uid, а в других классах динамически создавать экземпляры, если сделать этот класс как "одиночку", то uid должен быть общим для всех экземпляров. ---- Вот такие мысли в моей голове, может уже есть для подобной задачи отработаный подход, и моя мысль слишком замудренная? Просвятите пожалуйста. |
|
|
Litkevich Yuriy |
28.9.2009, 21:13
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
AD |
28.9.2009, 21:16
Сообщение
#3
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
|
|
|
Текстовая версия | Сейчас: 29.11.2024, 0:07 |