глобальные переменные
От: MikelSV http://www.centerix.ru
Дата: 25.10.13 01:26
Оценка: :)
Подскажите, как написать программу без глобальных переменных, если они нужны.
Например нужны глобальные обработчики, использующиеся из разных частей программы и совершенно невозможно объявить их где-то локально.
Линейная структура это хорошо, но иногда проще делать вот такие прыжки через глобальную область.
Римское правило. Тот, кто говорит, что Это не может быть сделано, никогда не должен мешать тому, кто Это делает.
Осень, ну вы поняли.
Зачем еще один код? А человек?
Re: глобальные переменные
От: Cyberax Марс  
Дата: 25.10.13 01:33
Оценка: +1
Здравствуйте, MikelSV, Вы писали:

MSV>Подскажите, как написать программу без глобальных переменных, если они нужны.

Берёшь и пишешь.

MSV>Например нужны глобальные обработчики, использующиеся из разных частей программы и совершенно невозможно объявить их где-то локально.

Передавать через контекст, использовать DI.
Sapienti sat!
Re: глобальные переменные
От: Kubyshev Andrey  
Дата: 25.10.13 02:25
Оценка:
Здравствуйте, MikelSV, Вы писали:

MSV>Подскажите, как написать программу без глобальных переменных, если они нужны.


Почему без них если надо ? Не забудь просто про многопоточность, оберни в секции, rwлоки и все пользуйся себе.
Re: глобальные переменные
От: opener  
Дата: 25.10.13 03:18
Оценка: -1 :)
Здравствуйте, MikelSV, Вы писали:

MSV>Подскажите, как написать программу без глобальных переменных, если они нужны.

MSV>Например нужны глобальные обработчики, использующиеся из разных частей программы и совершенно невозможно объявить их где-то локально.
MSV>Линейная структура это хорошо, но иногда проще делать вот такие прыжки через глобальную область.

Синглетон тебе в помощь.
Re: глобальные переменные
От: Evgeny.Panasyuk Россия  
Дата: 25.10.13 03:26
Оценка: +4 -1
Здравствуйте, MikelSV, Вы писали:

MSV>Подскажите, как написать программу без глобальных переменных, если они нужны.


Если действительно нужны, и не доставляют проблем — то почему бы и нет? Если доставляют — то тогда передавать как параметр. Всё зависит от ситуации — где-то может и стэк tls переменных нужен.
И не надо ориентироваться на zealot'ов которые утверждают что какие-то синтаксические конструкции являются 100% злом.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.