Architecture Patterns: Designing for Success