Essential Software Architecture - Gorton, Ian (Springer Berlin Heidelberg, 2006)