Explain the difference between Architecture and Design.

Beginner

Answer

Architecture focuses on high-level structure and major components:

  • System-wide decisions and constraints
  • Technology choices and frameworks
  • Component relationships and interfaces
  • Non-functional requirements (performance, security)
    Design focuses on detailed implementation:
  • Class structures and method signatures
  • Algorithms and data structures
  • Implementation-specific patterns
  • Code organization within components
    Example:
  • Architecture: "We'll use microservices with REST APIs and a message queue"
  • Design: "The UserService class will have a getUserById() method that queries PostgreSQL"