This file contains important architecture decisions.
Separation between business logic and user interface
Problem: Main goal of this project is to code some JavaFX. Maybe port the application to another UI framework later. How to structure the application to be able to switch the frontend in the future?
Limiting factors: Business logic in Java. Shall be reused for every new UI. So: only port to frontends for systems that are capable of running Java.
- All UI frameworks are easy to decouple from the business logic.
- All frameworks have different APIs. Hence: intermediary part of the application that bridges the gap between business logic and API of the UI framework.
Alternatives: Not to separate business logic from the UI. Rejected.
Decision: Implementation of some kind of adapter that separates the UI from the business logic