Разрабатываю приложение для ведения производственной документации на небольшом предприятии (учебный проект). Приложение позволяет просматривать и добавлять записи в электронных журналах, например "Журнал проверок пожарной сигнализации".
Текущая версия разрабатывается как stadalone приложение. В качестве GUI используется JavaFX, база данных - PostgresSQL, система сборки - Apache Maven, ORM - Hibernate.
Обязательное требование - наличие отдельного приложения (не через браузер).
В дальнейшем,
возможно, потребуется создание Web интерфейса с возможностью только чтения данных и перевод приложения на клиент-серверную архитектуру.
1. Как в таком случае разбить код на слои? 2. Как разбить это на модули в intellij idea?
На данный момент сделал следующим образом:
Но есть сомнения, при таком подходе модули не будут полностью изолированы друг от друга и в дальнейшем при добавлении в систему нового звена придётся переписывать большую часть кода.