Write the code to create a Galaxy attack(alien shooter) Java game. The game must be presented using JavaFX GUI, the game must be played with either the keyboard and/or mouse, make use of textual data and binary files(textual data must be used to create instances of model classes and binary data must be used for saving and loading a game in progress). The structure of the game must include the concepts; Inheritance/Abstract classes, Composition/Aggregation, Java Interfaces, Visitor Design Pattern, Object pool design pattern, Menu-bar with associated menu items and a customised canvas that will draw the game elements.