App Architecture: iOS Application Design Patterns in Swift
<p>This book explains a range of <em>application design patterns</em> and their <em>implementation techniques</em> using a single example app, fully implemented in five design patterns.</p> <p>Instead of advocating for any particular pattern, we lay out the problems all architectures are trying to address: constructing the app’s components, communicating between the view and the model, and handling non-model state. We show high-level solutions to these problems and break them down to the level of implementation for five different design patterns — two commonly used and three more experimental.</P <p>The common architectures are Model-View-Controller and Model-View-ViewModel + Coordinator. In addition to explaining these patterns conceptually and on the implementation level, we discuss solutions to commonly encountered problems, like massive view controllers.</p> <p>On the experimental side we explain View-State-Driven Model-View-Controller, ModelAdapter-ViewBinder, and The Elm Architecture. By examining these experimental patterns, we extract valuable lessons that can be applied to other patterns and to existing code bases.</p>