I've been reading Robert Martin's Clean Code book where it suggests we should separate a programs startup/construction process from its run time logic.
In Java (the language the book uses) this involves moving all aspects of construction to
main and designing the rest of the system assuming all objects have been constructed and wired up appropriately with no knowledge of main.
How can I apply this to iOS development?
My immediate thought is to construct all my business logic and models within the
didFinishLaunchingWithOptions function. Although I'm not sure if this is the right function to use and whether it's feasible or wise to attempt to setup the ViewControllers my app will use all in one place.