Сервисный слой и Слой представления - PavelKushnar/Software_Architecture_Design GitHub Wiki

Для проектирования сервисного слоя был использован шаблон проектирования Facade. Он позволяет преобразовывать объекты к отображаемому виду и обратно. Для каждого объекта бизнес логики был реализован свой класс Facade. Все объекты-фасады хранятся в пакете facade. Методы каждого объекта-фасада строились исходя из нужд слоя представления. Таким образом, в слое представления осталось минимальное количество логики. В слое представления, условные операторы используются, в основном, только для реализации логики взаимодействия между объектами представления После проведения небольшого, недокументированного аналитического сравнения систем, используемых для создания графического интерфейс на языке Java, было принято решение использовать библиотеку JavaFX.

К ее преимуществам относится следующее:

  • простота использования для реализации GUI;
  • построение структуры в виде MVC паттерна;
  • Относительная новизна;
  • позиционирование библиотеки в качестве замены swing
  • наличие графического дизайнера

Упомянутый выше паттерн MVC реализуется в JavaFX следующим образом:

  • Controler - объект Controller, позволяющий работать с графическими компонентами (а главное с представляемыми данными)
  • View - представление графических объектов, их характеристик и расположения с помощью языка разметки fxml. Также есть возможность добавления CSS файлов.
  • Mode - никак не оговаривается в контексте библиотеки.

В данной реализации представлена в виде паттерна facade Всего в проекте было создано 9 окон, для каждого из которых были реализованы объекты MVC Объекты типа Model (facade) хранятся в пакете facade. Объекты Controller в пакете Controller. Объекты View в пакете View. Cкриншоты пользовательского интерфейса представлены в разделе комплексного тестирования.