domanskiy, пытайтесь и осваивайте, только перед этим почитайте книгу, статью о MVC, что это, зачем, как и где применяется, как используется в java и в javafx в частности. Скажу даже по другому, MVC это обобщенный принцип, а вот его реализаций в подходе уйма.
Сам вопрос противоречит вообще всему.
Если утрировать то примерно так образно будет выглядеть один из вариантов MVC в javafx:
К примеру программа которая должна читать\сохранять файл, и выводить содержимое в таблицу на форме.
M (Model) - скажем будет DataModel.class. В нем 3 функции loadData(), saveData() и getData(). Реализует полностью логику работы Как читать\писать файл. Как переварить данные, сложить\умножить\...
V (View) - это непосредственно то как что то будет отображено на форме, т.е. это сам FXML файл или класс описывающий интерфейс, где какая кнопка, как она выглядит. Предоставляет ListView и пару кнопок для обращения к себе. Абсолютно ничего не знает откуда и как берутся данные для отображения(т.е. совсем).
С (Controller) - к примеру DataController.class. Этот класс знает только что предоставил View (опять же просто знает что там есть UI который сам нарисует) и пару кнопок, опять же не знает как они выглядят, где они находятся. Также знает где взять данные (из DataModel) но абсолютно не знает как она их получает. По итогу, тут идет стык Представления и Данных. Просто берет из DataModel методом getData() данные и передает их в View в listView. Берет событие кнопки load и вызывает в DataModel метод loadData(). При этом еще раз, контроллер понятия не имеет, где там кнопка на форме, как добываются данные, ему это до фени.
Как итог каждая часть не зависит от другой. Надо чтобы вместо получения данных из файла они брались из БД или телепатией? Не вопрос, просто переделай DataModel.class , все остальные части программы даже не поймут что что то изменилось. Надо вместо JavaFX отдать данные в виде вэб странички? Пожалуйста меняй View и опять же ничего другого переделывать не надо.
А теперь возвращаемся к началу, бегом читать литературу.
А и еще на за метку, любые длительные работы надо выполнять в фоне и дозаполнять ими форму. Если же данные влияют на отображение то для этого существуют прелоадеры (вот запускаешь ты свою IDE и видишь сначала квадратик с картинкой и прогресбаром и только следом отображается окно программы).