Pro Design Patterns in Swift - Freeman, Adam; Ferracchiati, Fabio Claudio; Freeman, Klaus (Apress, 2015)