Software Design and Architecture
Architecture is decision-making under uncertainty: what to modularize, how services communicate, and which quality attributes dominate. This pillar links clean architecture, DDD, API design, and service patterns already in the catalog.
Audience: Senior engineers and architects shaping service boundaries.
Curriculum
- Cost-Aware Architecture
- Data Contracts and Ownership
- Quality-Attribute Scenarios
- Clean Architecture — Depend Inward
- Domain-Driven Design (DDD) Essentials
- SOLID Principles — Maintainable Object Design
- OOP Fundamentals — Encapsulation, Inheritance, Polymorphism
- Design Patterns in Java — Practical Catalog
- API Design — Clear Contracts Clients Can Trust
- REST vs GraphQL — Resources vs Client-Specified Queries
- The Twelve-Factor App — Cloud-Native Baselines
- Microservices Architecture — Independently Deployable Services
- Event-Driven Architecture — React to Facts, Don’t Chain Calls
- Client–Server Architecture
By Shubham Jain. Last reviewed 2026-07-15.