I've refactored the code to use FXML files and moved it to it's own sub-module so that it can be used by
library users.
In this process I've also refactored the code so that now no singleton is used anymore. Instead the user has to use some dependency injection library to access the redux store from the FXML controllers. For this purpose I've introduces two interfaces (Dispatcher and Selector) that the controllers can use. This way the user also doesn't need to implement a separate View interface.
I've also tried to get the API a little closer to your functional API.
I've refactored the code to use FXML files and moved it to it's own sub-module so that it can be used by library users.
In this process I've also refactored the code so that now no singleton is used anymore. Instead the user has to use some dependency injection library to access the redux store from the FXML controllers. For this purpose I've introduces two interfaces (
Dispatcher
andSelector
) that the controllers can use. This way the user also doesn't need to implement a separateView
interface.I've also tried to get the API a little closer to your functional API.