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