Dimitry_II
07.10.2011, 13:04
В проекте используются переменные, которые по определению должны (или могут) использоваться в любом классе проекта.
Ранее я использовал некоторые приемы:
- инициализация в главном классе и передача в другие классы через сеттеры;
- использование классов с установкой публичных переменных для доступа из любого класса;
- установку хандлеров в нужных классах, которые реагируют на изменение нужных переменных.
После того, как начал использовать GraniteDS/Tide, проблема использования подобных переменных отпала сама собой - в фреймворке реализован DI и использованием метатегов [Inject], [In], [Out] я могу контролировать использование таких переменных и не заниматься рутиной - фреймворк все сделает сам.
Однако в текущем проекте решено использовать FMS, следовательно, использование целого фреймворка нецелесообразно - нет RO, RCP, сериализации (это на FMS), поддержки серверного фреймворка, контроля данных. Поэтому подключать целый фреймворк ради DI как бы неловко ...
Но вопрос встал остро и поэтому решил посоветоваться - как все же лучше поступить? Есть ли интересные решения в этом аспекте или реализовывать все по-старинке? Спасибо.
P.S. Фактически вопрос состоит в том, чтобы а) взаимодействовать с сервером из открываемых панелей; б) использовать полученные с сервера стравочные таблицы в любом окне/панели/view.
Ранее я использовал некоторые приемы:
- инициализация в главном классе и передача в другие классы через сеттеры;
- использование классов с установкой публичных переменных для доступа из любого класса;
- установку хандлеров в нужных классах, которые реагируют на изменение нужных переменных.
После того, как начал использовать GraniteDS/Tide, проблема использования подобных переменных отпала сама собой - в фреймворке реализован DI и использованием метатегов [Inject], [In], [Out] я могу контролировать использование таких переменных и не заниматься рутиной - фреймворк все сделает сам.
Однако в текущем проекте решено использовать FMS, следовательно, использование целого фреймворка нецелесообразно - нет RO, RCP, сериализации (это на FMS), поддержки серверного фреймворка, контроля данных. Поэтому подключать целый фреймворк ради DI как бы неловко ...
Но вопрос встал остро и поэтому решил посоветоваться - как все же лучше поступить? Есть ли интересные решения в этом аспекте или реализовывать все по-старинке? Спасибо.
P.S. Фактически вопрос состоит в том, чтобы а) взаимодействовать с сервером из открываемых панелей; б) использовать полученные с сервера стравочные таблицы в любом окне/панели/view.