Pro Design Patterns in Swift - Freeman, Adam (Apress, 2015)