App Architecture: iOS Application Design Patterns in Swift

This book explains a range of application design patterns and their implementation techniques using a single example app, fully implemented in five design patterns.

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.

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.

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.


Buy On Amazon »

Functional Swift: Updated for Swift 4
Functional Swift: Updated for Swift 4

This book will teach you how to use Swift to apply functional programming techniques to your iOS or OS X projects. These techniq ...

Details »
Core Data: Updated for Swift 4
Core Data: Updated for Swift 4

Core Data best practices by example: from simple persistency to multithreading and syncing This book strives to give you clear g ...

Details »
Swift in Depth
Swift in Depth

Summary Swift is more than just a fun language to build iOS applications with. It features a host of powerful tools that, if eff ...

Details »
Clean Architecture: A Craftsman's Guide to Software Structure and Design (Robert C. Martin Series)
Clean Architecture: A Craftsman's Guide to Software Structure and Design (Robert C. Martin Series)

Practical Software Architecture Solutions from the Legendary Robert C. Martin (“Uncle Bob”)   By applying universal rules ...

Details »
Test-Driven iOS Development with Swift 4 - Third Edition: Write Swift code that is maintainable, flexible, and easily extensible
Test-Driven iOS Development with Swift 4 - Third Edition: Write Swift code that is maintainable, flexible, and easily extensible

Key FeaturesA practical guide to writing effective, organized, and clean code that works wellLearn test-driven principles to hel ...

Details »
Creative Selection: Inside Apple's Design Process During the Golden Age of Steve Jobs
Creative Selection: Inside Apple's Design Process During the Golden Age of Steve Jobs

* WALL STREET JOURNAL BESTSELLER *An insider's account of Apple's creative process during the golden years of Steve Jobs.Hundred ...

Details »
Programming iOS 12: Dive Deep into Views, View Controllers, and Frameworks
Programming iOS 12: Dive Deep into Views, View Controllers, and Frameworks

If you’re grounded in the basics of Swift, Xcode, and the Cocoa framework, this book provides a structured explanation of all ...

Details »