I’ve fallen in love with Protocol-Oriented Programming (POP), but of course, I’m new to it and still learning. One of my favorite use-cases for POP is with MVVM.

Source: Updated: Protocol-Oriented MVVM in Swift 2.0