10 Common Software Architectural Patterns in a nutshell