2016-08-12 5 views
0

Это мой первый пост, поэтому он может быть немного неуместным. Я пытаюсь разработать приложение в JavaFX, чтобы вернуть свои навыки программирования из прошлых лет.Как хранить данные в приложении javafx

Я пытаюсь создать приложение JavaFX, которое состоит из нескольких представлений и контроллеров, таких как Controller1, View1, Controller2, View2 и так далее. В моем приложении также включен Основной класс для процесса запуска. Я пытаюсь разработать это учебное приложение с шаблоном проектирования MVC.

Мой вопрос: как хранить данные между контроллерами и представлениями? Curently У меня есть данные, хранящиеся в списке объектов i.e Событие в Controller1 (MainwindowController), а затем, если я хочу что-то сделать с этим списком, например, добавить из другого нового элемента к нему, я передаю список конструктором Controller2. Я обнаружил, что в какой-то степени хлопотно, потому что я передаю весь список между контроллером 1 и контроллером2, но я действительно не хочу этого делать.

Есть ли способ хранить данные, которые были бы доступны для всех контроллеров в экземпляре без бесцельного прохождения между ними данных?

Я знаю, что это глупый вопрос, но для меня это довольно хлопотно, чтобы понять это.

Большое спасибо заранее за любые советы подсказки :)

+1

Для использования экземпляра совместно используемой модели среди нескольких контроллеров «вручную» см. Http://stackoverflow.com/questions/32342864/. Если вы хотите автоматизировать это, вы должны подумать об использовании инфраструктуры Injection Dependency. Общие рамки DI включают Spring и Guice, которые отлично работают с JavaFX; для JavaFX-специфической структуры взгляните на [afterburner.fx] (http://afterburner.adam-bien.com/). –

+0

Большое спасибо за советы: D – Icarium

ответ

0

Если вы используете шаблон MVC ваши данные должны быть в модели слоя и вызывать его из контроллеров. Если ваши данные находятся в классе контроллера, и вы не хотите передавать все данные между ними, вы можете использовать статические элементы.

+0

Большое спасибо за советы: D – Icarium