Software architecture patterns Understanding common architecture patterns and when to use them - Richards, Mark (Beijing O`Reilly, 2015)