|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
02.08.2013, 17:38 | #1 |
Студент
Пользователь
Регистрация: 13.11.2009
Сообщений: 65
|
ООП Сомнения в архитектуре программы.
Добрый день.
Пишу на AS3. Хотя это не должно быть важно в контексте. Допустим в программе существует какой то класс Alpha, экземпляр которого (alpha) создается лишь один раз в программе и существует на всем протяжении работы программы. К методам, полям, свойствам этого объекта alpha обращаются большинство объектов программы, так что если передавать ссылку на этот объект всем объектам в конструкторах - получится громоздко. Кроме того существует статический класс(все поля статические) Config, в котором хранятся все настройки программы. Правильным ли решением будет вынести ссылку на этот единственный объект alpha в поле класса Config? И иметь доступ к экземпляру Alpha из всех закоулков программы. Возможно есть другие решения, или мне стоит почитать какую-нибудь литературу (желательно на русском). Спасибо. |
02.08.2013, 17:56 | #2 |
Санитар
Старожил
Регистрация: 04.10.2008
Сообщений: 2,577
|
В твоем случае уместно применить синглетон ИМХО.
Хотя я щитаю, что от синглетонов чаще всего можно и нужно избавится. Но если ты расскажешь нам больше деталей я МБ и подскажу как (если делать будет нечего). А так да - синглетон ) |
02.08.2013, 21:40 | #3 |
Студент
Пользователь
Регистрация: 13.11.2009
Сообщений: 65
|
rrrFer, Теперь я хоть знаю как это называется. Я так понимаю, это паттерны проектирования. Я раньше не уделял этой теме должного внимания. Буду читать, как будет время.
Если подробнее. То я использую такой подход в двух проектах. Один на С++. В синглтоне обмен через последовательный порт с устройством. К нему обращаются консоль, панель управления, и джойстик. Второй на AS3. В синглтон не один, а несколько. В одном - интерфейс. В другом синглтоне - обработка игровых действий. Т.е. интерфейс и некоторые другие объекты (игровое поле, игровые объекты, контекстные меню) обращаются к обработчику игровых действий, который в свою очередь обращается к серверу. Начинает выполнять заданные действия на стороне клиента и ждет одобрения от сервера. Если сервер одобрил - никаких действий не требуется, иначе откатываемся назад. |
02.08.2013, 23:08 | #4 | ||
Санитар
Старожил
Регистрация: 04.10.2008
Сообщений: 2,577
|
Цитата:
Цитата:
|
||
03.08.2013, 01:58 | #5 |
Студент
Пользователь
Регистрация: 13.11.2009
Сообщений: 65
|
Благодарю. ) Обязательно почитаю твой блог.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
вопрос по архитектуре | Антон Ос | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 1 | 08.02.2013 17:43 |
Развейте мои сомнения =)) | Without Soul | Общие вопросы C/C++ | 4 | 27.03.2011 14:33 |
тест без вариантлов ответа, уже сделала сама, но есть сомнения | toosya | Помощь студентам | 0 | 28.02.2011 11:19 |
C++. 3 простые программы на элементарное ООП | Petrovi4 | Фриланс | 8 | 27.01.2010 11:17 |
Паскаль ООП. Примеры программ с использованием ООП | SeЯgey | Помощь студентам | 5 | 13.05.2009 21:55 |