![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Здравствуйте
Посоветуйте, пожалуйста, шаблон проектирования для такой вот задачи: есть модуль который меняет поведение остальных когда они (остальные) что-то делают, нужно чтобы он не смог этого сделать Это настройки, там выбор языка, при выборе языка все остальные подгружают соответственные хмл-ки с нужным языком. Если кто-либо из остальных передает что-либо на сервер (картинку закодированную или сохраняет свой хмл или как-то работает с сетью), у модуля настроек не должно быть возможности выбрать язык пока все остальные не скажут ему что они освободились (закончили работу с сетью) Что-то типа Observer но наоборот Последний раз редактировалось djyamato; 25.04.2011 в 22:38. |
|
|||||
|
Это модель )
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
Не понял
![]() КорДум, мне бы что-нибудь поавтоматичнее, ато это получится что у синглтона спрашивать все время или как ? Не, гоню, и правда, скорее всего - синглтон ![]() Последний раз редактировалось djyamato; 25.04.2011 в 23:33. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
А обратная ситуация для этого Триггера рассматривается? Многие - могут начинать свою работу, пока не закончил Один?
Добавлено через 16 минут Просто этот триггер можно организовать как в одну сторону, так и в другу. То есть 1) все работники регистрируют себя в классе Триггера и постоянно бомбят его событиями изменения своих состояний ("я работаю", "я свободен"). Триггер анализирует массив при поступлении каждого такого события и меняет свое состояние на "можно"/"нельзя". Плюс может сам посылать события при изменении своего состояния ("И" от входов). 2) в момент, когда "один" решил поработать, он опрашивает всех "многих". Им же вменяется иметь геттер "свободен/занят" и менять его. Требуется та же самая регистрация, но по Интерфейсу яТриггер (требующему реализацию геттера). Второй вариант мне видится приятней в своей спартанской строгости.
__________________
Reality.getBounds(this); |
|
|||||
|
Wolsh, нет, не рассматривается ситуация такая
у меня ситуация номер (1) Это настройки, смена языков для модулей Многие могут начинать свою работу пока не закончил один, они вообще друг про друга не знают Смысл в том, чтобы пользователь мог менять языки у данных(data) модулей на лету, НО не во время, когда один из модулей работает с сетью, чтобы не получилось так, что в одном из модулей сменился язык, а другой пока занят своим делом, если его побеспокоить, он не сохранит свою выполненную работу и загрузит другие данные, лажа. Последний раз редактировалось djyamato; 25.04.2011 в 23:32. |
|
|||||
|
Что-то я не пойму, зачем вообще, в данной ситуации, блокировка? Ну, сменили модулю локаль, почему он должен сразу бросать все и ломиться за новыми данными? Пусть себе работает, освободится — загрузит.
|
|
|||||
|
И правда, я как-то об этом не подумал, точнее, думал но отпугнула неболшое усложнение поведения модулей.
Это получится что модуль делает себе свои дела, произошла смена локали, он об этом узнал, далее, когда закончил работу свою, меняет локаль, тем более про текущую локаль он может спросить у синглтона настроек всегда, ему просто нужно знать, что произошло событие смены локали. то есть, каждый модуль это также обзервер ? |
|
|||||
|
В парадигме MVC это модель. Которая очень старшая. Настолько старшая, что даже контроллеры слушаются её и не могут ничего сделать, пока туда данные не попадут.
Так чем не подходит обзервер?
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
контроллеры ее не слушаются, а слушают и принимают решения. а вообще, да, мне кажется моделька.
__________________
http://cleptoman.free-lance.ru achivements: дважды благословлен на воровство. осеяный благодатью |
![]() |
![]() |
Часовой пояс GMT +4, время: 23:35. |
|
|
« Предыдущая тема | Следующая тема » |
|
|