In this episode, we finish test-driving the functions responsible for starting and scoring the game.
To keep the
Flow type internal to the module, we decided to create a public
Game class representing the game state in play. A
Game instance needs to be strongly referenced throughout the gameplay so we can appropriately deal with memory management and be ready to easily add new features, such as saving the current game state or stopping/halting the Quiz midways.
Moreover, we import the
QuizEngine module to the
QuizApp workspace and start test-driving the
NavigationControllerRouter, a concrete implementation of the
Router protocol for UIKit apps.
Finally, we reflect on which module should be responsible for creating the view controllers, an important decision that helps maintain our architecture clean and flexible.