EXMP study materials
EXMP study resources

EXMP: Design and Architecture

EXMP · Work through your exam, one topic at a time.

All guide sections

Design and Architecture

What this domain tests

Design questions ask you to choose among structures and justify the choice against quality attributes. Architecture is about boundaries, interfaces, and the trade-offs those create.

Concepts to master

Understand separation of concerns, modularity, abstraction, information hiding, and encapsulation. Be able to compare layered, event-driven, pipe-and-filter, microservice, and monolithic styles, and say which quality attribute each favours. Know coupling and cohesion as the core heuristic: low coupling, high cohesion. Understand design patterns by intent - creational, structural, behavioural - rather than by memorised class diagrams. Grasp single points of failure, statelessness, idempotency, and interface contracts. Recognise that quality attributes conflict: security versus usability, performance versus maintainability, availability versus consistency.

Traps in questions

Distractors often propose a pattern that solves the wrong problem - caching to fix a correctness bug, or a queue to fix a latency problem it would worsen. Another trap is the unqualified "best architecture": there is none; the answer depends on the stated drivers. Also watch for confusing a pattern's name with its consequence.

Worked rule of thumb

Before answering, name the dominant quality attribute in the stem (availability, modifiability, performance, security). Then eliminate any option that damages it, even if the option is otherwise elegant. Architecture answers are always for a context.

Interfaces and failure

Design every interface assuming the other side fails: define timeouts, retries with backoff, and idempotent operations so retries are safe. Document the contract - inputs, outputs, errors, and guarantees - because most integration defects are contract misunderstandings, not code bugs.