PDA

Просмотр полной версии : Передача параметров между классами


Dimitry_II
07.10.2011, 13:04
В проекте используются переменные, которые по определению должны (или могут) использоваться в любом классе проекта.

Ранее я использовал некоторые приемы:
- инициализация в главном классе и передача в другие классы через сеттеры;
- использование классов с установкой публичных переменных для доступа из любого класса;
- установку хандлеров в нужных классах, которые реагируют на изменение нужных переменных.

После того, как начал использовать GraniteDS/Tide, проблема использования подобных переменных отпала сама собой - в фреймворке реализован DI и использованием метатегов [Inject], [In], [Out] я могу контролировать использование таких переменных и не заниматься рутиной - фреймворк все сделает сам.

Однако в текущем проекте решено использовать FMS, следовательно, использование целого фреймворка нецелесообразно - нет RO, RCP, сериализации (это на FMS), поддержки серверного фреймворка, контроля данных. Поэтому подключать целый фреймворк ради DI как бы неловко ...

Но вопрос встал остро и поэтому решил посоветоваться - как все же лучше поступить? Есть ли интересные решения в этом аспекте или реализовывать все по-старинке? Спасибо.

P.S. Фактически вопрос состоит в том, чтобы а) взаимодействовать с сервером из открываемых панелей; б) использовать полученные с сервера стравочные таблицы в любом окне/панели/view.

trng
07.10.2011, 14:30
Любые "Интересные решения" упираются в возможности AS/FP, у которых на эту тему есть только уже упомянутые возможности: public, геттеры/сеттеры и биндинг в том или ином виде.

И если решение для констант - это решение в виде класса с "public static const", то для переменных универсального ответа быть не может. Надо исходить из потребностей: кем переменные должны меняться/кем не должны, сложная установка/простая установка значений и т.п.